mirror of
https://github.com/FatttSnake/OxygenToolbox.git
synced 2026-04-06 03:41:26 +08:00
Extract base activity.
This commit is contained in:
3
.idea/misc.xml
generated
3
.idea/misc.xml
generated
@@ -74,6 +74,9 @@
|
||||
<entry key="..\:/.workspace-android/Project-ToolBox/OxygenToolbox/app/src/main/res/layout/activity_main.xml" value="0.1" />
|
||||
<entry key="..\:/.workspace-android/Project-ToolBox/OxygenToolbox/app/src/main/res/layout/activity_splash.xml" value="0.1693840579710145" />
|
||||
<entry key="..\:/.workspace-android/Project-ToolBox/OxygenToolbox/app/src/main/res/layout/activity_time_screen.xml" value="0.34739583333333335" />
|
||||
<entry key="..\:/.workspace-android/Project-ToolBox/OxygenToolbox/app/src/main/res/layout/activity_tool_base.xml" value="0.1" />
|
||||
<entry key="..\:/.workspace-android/Project-ToolBox/OxygenToolbox/app/src/main/res/layout/activity_tool_base_horizontal.xml" value="0.29628046173578454" />
|
||||
<entry key="..\:/.workspace-android/Project-ToolBox/OxygenToolbox/app/src/main/res/layout/activity_tool_base_normal.xml" value="0.271484375" />
|
||||
<entry key="..\:/.workspace-android/Project-ToolBox/OxygenToolbox/app/src/main/res/layout/activity_tool_ip.xml" value="0.29628046173578454" />
|
||||
<entry key="..\:/.workspace-android/Project-ToolBox/OxygenToolbox/app/src/main/res/layout/activity_tool_time_screen.xml" value="0.1" />
|
||||
<entry key="..\:/.workspace-android/Project-ToolBox/OxygenToolbox/app/src/main/res/layout/activity_tool_translation.xml" value="0.1" />
|
||||
|
||||
@@ -13,7 +13,7 @@ import androidx.annotation.Nullable;
|
||||
import com.fatapp.oxygentoolbox.util.MultiLanguageUtils;
|
||||
import com.fatapp.oxygentoolbox.util.ResourceUtil;
|
||||
import com.fatapp.oxygentoolbox.util.SharedPreferencesUtils;
|
||||
import com.fatapp.oxygentoolbox.util.ToolsList;
|
||||
import com.fatapp.oxygentoolbox.util.tool.ToolsList;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.fatapp.oxygentoolbox.tools.timescreen;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Typeface;
|
||||
import android.graphics.drawable.AnimatedVectorDrawable;
|
||||
@@ -16,22 +15,20 @@ import android.widget.TextView;
|
||||
import android.widget.ViewSwitcher;
|
||||
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.fatapp.oxygentoolbox.R;
|
||||
import com.fatapp.oxygentoolbox.util.ResourceUtil;
|
||||
import com.fatapp.oxygentoolbox.util.VariableChangeListener;
|
||||
import com.fatapp.oxygentoolbox.util.VariableChangeSupport;
|
||||
import com.ypz.bangscreentools.BangScreenTools;
|
||||
import com.fatapp.oxygentoolbox.util.tool.BaseActivityHorizontal;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
public class MainActivity extends BaseActivityHorizontal {
|
||||
private int uiMode = ResourceUtil.getAppUiMode();
|
||||
private VariableChangeSupport<String> hourTenVariableChangeSupport;
|
||||
private VariableChangeSupport<String> hourOneVariableChangeSupport;
|
||||
@@ -42,7 +39,6 @@ public class MainActivity extends AppCompatActivity {
|
||||
private VariableChangeSupport<Boolean> dateVisibilityChangeSupport;
|
||||
private VariableChangeSupport<Boolean> uiVisibilityChangeSupport;
|
||||
|
||||
private ConstraintLayout constraintLayoutRoot;
|
||||
private ImageView imageViewMode;
|
||||
private TextSwitcher textSwitcherHourTen;
|
||||
private TextSwitcher textSwitcherHourOne;
|
||||
@@ -55,7 +51,6 @@ public class MainActivity extends AppCompatActivity {
|
||||
private TextView textViewDate;
|
||||
|
||||
private void initView() {
|
||||
constraintLayoutRoot = findViewById(R.id.constraint_layout_root);
|
||||
imageViewMode = findViewById(R.id.image_view_mode);
|
||||
textSwitcherHourTen = findViewById(R.id.text_switcher_hour_ten);
|
||||
textSwitcherHourOne = findViewById(R.id.text_switcher_hour_one);
|
||||
@@ -70,10 +65,8 @@ public class MainActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
BangScreenTools.getBangScreenTools().fullscreen(getWindow(), this);
|
||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_tool_time_screen);
|
||||
super.loadView(this, R.layout.activity_tool_time_screen);
|
||||
|
||||
initView();
|
||||
initTextSwitcher();
|
||||
@@ -145,7 +138,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
ObjectAnimator.ofFloat(imageViewMode, View.ALPHA, (boolean) newValue ? 0.0f : 1.0f, (boolean) newValue ? 1.0f : 0.0f).start();
|
||||
}
|
||||
});
|
||||
constraintLayoutRoot.setOnClickListener(view -> uiVisibilityChangeSupport.setValue(!uiVisibilityChangeSupport.getValue()));
|
||||
getConstraintLayoutRoot().setOnClickListener(view -> uiVisibilityChangeSupport.setValue(!uiVisibilityChangeSupport.getValue()));
|
||||
}
|
||||
|
||||
private void initTextSwitcher() {
|
||||
@@ -220,7 +213,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
private void setColors(@ColorInt int backgroundColor, @ColorInt int primaryTextColor) {
|
||||
ObjectAnimator backgroundColorAnimator = ObjectAnimator.ofArgb(constraintLayoutRoot, "backgroundColor", ((ColorDrawable) constraintLayoutRoot.getBackground()).getColor(), backgroundColor);
|
||||
ObjectAnimator backgroundColorAnimator = ObjectAnimator.ofArgb(getConstraintLayoutRoot(), "backgroundColor", ((ColorDrawable) getConstraintLayoutRoot().getBackground()).getColor(), backgroundColor);
|
||||
backgroundColorAnimator.setDuration(500L);
|
||||
backgroundColorAnimator.start();
|
||||
((TextView) textSwitcherHourTen.getChildAt(0)).setTextColor(primaryTextColor);
|
||||
@@ -238,10 +231,4 @@ public class MainActivity extends AppCompatActivity {
|
||||
((TextView) textSwitcherSecondOne.getChildAt(0)).setTextColor(primaryTextColor);
|
||||
((TextView) textSwitcherSecondOne.getChildAt(1)).setTextColor(primaryTextColor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWindowFocusChanged(boolean hasFocus) {
|
||||
BangScreenTools.getBangScreenTools().windowChangeFullscreen(getWindow());
|
||||
super.onWindowFocusChanged(hasFocus);
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,6 @@ import android.graphics.drawable.AnimatedVectorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
@@ -12,17 +11,13 @@ import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.fatapp.oxygentoolbox.R;
|
||||
import com.fatapp.oxygentoolbox.util.ResourceUtil;
|
||||
import com.fatapp.oxygentoolbox.util.ToolsList;
|
||||
import com.fatapp.oxygentoolbox.util.http.HttpHelper;
|
||||
import com.fatapp.oxygentoolbox.util.http.ResponseListener;
|
||||
import com.fatapp.oxygentoolbox.util.tool.BaseActivityNormal;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.snackbar.Snackbar;
|
||||
|
||||
@@ -33,11 +28,9 @@ import org.json.JSONObject;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Objects;
|
||||
import java.util.StringJoiner;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
private final String TOOL_NAME = ToolsList.getToolName(getClass().getName());
|
||||
public class MainActivity extends BaseActivityNormal {
|
||||
final String URL_YOU_DAO = "http://fanyi.youdao.com/translate?&doctype=json&type=%s&i=%s";
|
||||
|
||||
private final String LANGUAGE_CHINESE = "ZH_CN";
|
||||
@@ -53,9 +46,6 @@ public class MainActivity extends AppCompatActivity {
|
||||
|
||||
private String languageFrom = LANGUAGE_CHINESE;
|
||||
private String languageTo = LANGUAGE_ENGLISH;
|
||||
|
||||
private ConstraintLayout constraintLayoutRoot;
|
||||
private Toolbar toolbar;
|
||||
private TextView textViewLanguageFrom;
|
||||
private ImageView imageViewSwap;
|
||||
private TextView textViewLanguageTo;
|
||||
@@ -65,8 +55,6 @@ public class MainActivity extends AppCompatActivity {
|
||||
private ProgressBar progressBarInTranslation;
|
||||
|
||||
private void initView() {
|
||||
constraintLayoutRoot = findViewById(R.id.constraint_layout_root);
|
||||
toolbar = findViewById(R.id.toolbar);
|
||||
textViewLanguageFrom = findViewById(R.id.text_view_language_from);
|
||||
imageViewSwap = findViewById(R.id.image_view_swap);
|
||||
textViewLanguageTo = findViewById(R.id.text_view_language_to);
|
||||
@@ -79,10 +67,9 @@ public class MainActivity extends AppCompatActivity {
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_tool_translation);
|
||||
super.loadView(this, R.layout.activity_tool_translation);
|
||||
|
||||
initView();
|
||||
initLayout();
|
||||
initLanguageChoose();
|
||||
initTranslation();
|
||||
}
|
||||
@@ -138,13 +125,6 @@ public class MainActivity extends AppCompatActivity {
|
||||
});
|
||||
}
|
||||
|
||||
private void initLayout() {
|
||||
constraintLayoutRoot.setPadding(0, ResourceUtil.getStatusBarHeight(getWindow(), getApplicationContext()), 0, 0);
|
||||
setSupportActionBar(toolbar);
|
||||
Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
|
||||
Objects.requireNonNull(getSupportActionBar()).setTitle(TOOL_NAME);
|
||||
}
|
||||
|
||||
private void translate() {
|
||||
editTextFrom.setEnabled(false);
|
||||
imageViewTranslate.setEnabled(false);
|
||||
@@ -185,7 +165,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
editTextFrom.setEnabled(true);
|
||||
imageViewTranslate.setEnabled(true);
|
||||
progressBarInTranslation.setVisibility(View.INVISIBLE);
|
||||
Snackbar.make(constraintLayoutRoot, "翻译失败", Snackbar.LENGTH_LONG).show();
|
||||
Snackbar.make(getConstraintLayoutRoot(), "翻译失败", Snackbar.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -198,13 +178,4 @@ public class MainActivity extends AppCompatActivity {
|
||||
httpHelper.getResponseListener().onFailed();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
finish();
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,9 +16,9 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.fatapp.oxygentoolbox.R;
|
||||
import com.fatapp.oxygentoolbox.layout.AutoLinefeedLayout;
|
||||
import com.fatapp.oxygentoolbox.layout.FoldLayout;
|
||||
import com.fatapp.oxygentoolbox.util.ToolsLauncher;
|
||||
import com.fatapp.oxygentoolbox.util.ToolsList;
|
||||
import com.fatapp.oxygentoolbox.util.VibratorController;
|
||||
import com.fatapp.oxygentoolbox.util.tool.ToolsLauncher;
|
||||
import com.fatapp.oxygentoolbox.util.tool.ToolsList;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.fatapp.oxygentoolbox.util.tool;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.annotation.LayoutRes;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.fatapp.oxygentoolbox.R;
|
||||
import com.ypz.bangscreentools.BangScreenTools;
|
||||
|
||||
public class BaseActivityHorizontal extends AppCompatActivity {
|
||||
private final String TOOL_NAME = ToolsList.getToolName(getClass().getName());
|
||||
private ConstraintLayout constraintLayoutRoot;
|
||||
private ConstraintLayout constraintLayoutContent;
|
||||
|
||||
private void _initView() {
|
||||
constraintLayoutRoot = findViewById(R.id.constraint_layout_root);
|
||||
constraintLayoutContent = findViewById(R.id.constraint_layout_content);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
BangScreenTools.getBangScreenTools().fullscreen(getWindow(), this);
|
||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_tool_base_horizontal);
|
||||
_initView();
|
||||
}
|
||||
|
||||
protected void loadView(Context context, @LayoutRes int layoutResID) {
|
||||
LayoutInflater.from(context).inflate(layoutResID, constraintLayoutContent);
|
||||
}
|
||||
|
||||
protected String getToolName() {
|
||||
return TOOL_NAME;
|
||||
}
|
||||
|
||||
protected ConstraintLayout getConstraintLayoutRoot() {
|
||||
return constraintLayoutRoot;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWindowFocusChanged(boolean hasFocus) {
|
||||
BangScreenTools.getBangScreenTools().windowChangeFullscreen(getWindow());
|
||||
super.onWindowFocusChanged(hasFocus);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package com.fatapp.oxygentoolbox.util.tool;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import androidx.annotation.LayoutRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.fatapp.oxygentoolbox.R;
|
||||
import com.fatapp.oxygentoolbox.util.ResourceUtil;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class BaseActivityNormal extends AppCompatActivity {
|
||||
private final String TOOL_NAME = ToolsList.getToolName(getClass().getName());
|
||||
|
||||
private ConstraintLayout constraintLayoutRoot;
|
||||
private Toolbar toolbar;
|
||||
private ConstraintLayout constraintLayoutContent;
|
||||
|
||||
private void _initView() {
|
||||
constraintLayoutRoot = findViewById(R.id.constraint_layout_root);
|
||||
toolbar = findViewById(R.id.toolbar);
|
||||
constraintLayoutContent = findViewById(R.id.constraint_layout_content);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_tool_base_normal);
|
||||
_initView();
|
||||
_initLayout();
|
||||
}
|
||||
|
||||
protected void loadView(Context context, @LayoutRes int layoutResID) {
|
||||
LayoutInflater.from(context).inflate(layoutResID, constraintLayoutContent);
|
||||
}
|
||||
|
||||
private void _initLayout() {
|
||||
constraintLayoutRoot.setPadding(0, ResourceUtil.getStatusBarHeight(getWindow(), getApplicationContext()), 0, 0);
|
||||
setSupportActionBar(toolbar);
|
||||
Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
|
||||
Objects.requireNonNull(getSupportActionBar()).setTitle(TOOL_NAME);
|
||||
}
|
||||
|
||||
protected String getToolName() {
|
||||
return TOOL_NAME;
|
||||
}
|
||||
|
||||
protected ConstraintLayout getConstraintLayoutRoot() {
|
||||
return constraintLayoutRoot;
|
||||
}
|
||||
|
||||
protected Toolbar getToolbar() {
|
||||
return toolbar;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
finish();
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.fatapp.oxygentoolbox.util;
|
||||
package com.fatapp.oxygentoolbox.util.tool;
|
||||
|
||||
import static androidx.core.content.ContextCompat.startActivity;
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.fatapp.oxygentoolbox.util;
|
||||
package com.fatapp.oxygentoolbox.util.tool;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.fatapp.oxygentoolbox.util.Locales;
|
||||
import com.fatapp.oxygentoolbox.util.SharedPreferencesUtils;
|
||||
import com.fatapp.oxygentoolbox.util.json.ToolsJson;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
15
app/src/main/res/layout/activity_tool_base_horizontal.xml
Normal file
15
app/src/main/res/layout/activity_tool_base_horizontal.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/constraint_layout_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/app_show_background_theme"
|
||||
tools:context=".util.tool.BaseActivityHorizontal">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraint_layout_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
33
app/src/main/res/layout/activity_tool_base_normal.xml
Normal file
33
app/src/main/res/layout/activity_tool_base_normal.xml
Normal file
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/constraint_layout_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/app_background_theme"
|
||||
tools:context=".util.tool.BaseActivityNormal">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:theme="@style/Theme.OxygenToolbox.AppBarOverlay"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="?attr/colorPrimary"
|
||||
app:popupTheme="@style/Theme.OxygenToolbox.PopupOverlay" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraint_layout_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/app_bar_layout" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -2,10 +2,8 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/constraint_layout_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/app_show_background_theme"
|
||||
android:keepScreenOn="true"
|
||||
tools:context=".tools.timescreen.MainActivity">
|
||||
|
||||
|
||||
@@ -2,143 +2,118 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/constraint_layout_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/app_background_theme"
|
||||
tools:context=".tools.translation.MainActivity">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar_layout"
|
||||
<LinearLayout
|
||||
android:id="@+id/linear_layout_language"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:theme="@style/Theme.OxygenToolbox.AppBarOverlay"
|
||||
android:layout_margin="@dimen/tool_translation_layout_margin"
|
||||
android:background="@drawable/background_top_bottom_radius"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="?attr/colorPrimary"
|
||||
app:popupTheme="@style/Theme.OxygenToolbox.PopupOverlay" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/app_bar_layout">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linear_layout_language"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/tool_translation_layout_margin"
|
||||
android:background="@drawable/background_top_bottom_radius"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_view_language_from"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="@string/tool_translation_language_chinese"
|
||||
android:textColor="?attr/app_theme"
|
||||
android:textSize="@dimen/tool_translation_text_size" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image_view_swap"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="Swap"
|
||||
android:padding="@dimen/tool_translation_clickable_padding"
|
||||
android:src="@drawable/animation_swap_horizon" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_view_language_to"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="@string/tool_translation_language_english"
|
||||
android:textColor="?attr/app_theme"
|
||||
android:textSize="@dimen/tool_translation_text_size" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_text_from"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/tool_translation_edit_text_view_height"
|
||||
android:layout_margin="@dimen/tool_translation_layout_margin"
|
||||
android:autofillHints="text"
|
||||
android:background="@drawable/background_top_bottom_radius"
|
||||
android:gravity="start|top"
|
||||
android:hint="@string/tool_translation_please_enter_text"
|
||||
android:inputType="textMultiLine"
|
||||
android:maxLength="850"
|
||||
android:paddingHorizontal="@dimen/tool_translation_edit_text_view_padding"
|
||||
android:paddingTop="@dimen/tool_translation_edit_text_view_padding"
|
||||
android:paddingBottom="@dimen/tool_translation_edit_text_view_padding_plus"
|
||||
android:textColor="?attr/app_text_theme"
|
||||
android:textSize="@dimen/tool_translation_text_size"
|
||||
app:layout_constraintTop_toBottomOf="@id/linear_layout_language" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/edit_text_to"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/tool_translation_edit_text_view_height"
|
||||
android:layout_margin="@dimen/tool_translation_layout_margin"
|
||||
android:autofillHints="text"
|
||||
android:background="@drawable/background_top_bottom_radius"
|
||||
android:gravity="start|top"
|
||||
android:paddingHorizontal="@dimen/tool_translation_edit_text_view_padding"
|
||||
android:paddingTop="@dimen/tool_translation_edit_text_view_padding_plus"
|
||||
android:paddingBottom="@dimen/tool_translation_edit_text_view_padding"
|
||||
android:textColor="?attr/app_text_theme"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/tool_translation_text_size"
|
||||
app:layout_constraintTop_toBottomOf="@id/edit_text_from" />
|
||||
android:id="@+id/text_view_language_from"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="@string/tool_translation_language_chinese"
|
||||
android:textColor="?attr/app_theme"
|
||||
android:textSize="@dimen/tool_translation_text_size" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
<ImageView
|
||||
android:id="@+id/image_view_swap"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/background_round"
|
||||
android:contentDescription="Swap"
|
||||
android:padding="@dimen/tool_translation_clickable_padding"
|
||||
app:layout_constraintBottom_toTopOf="@id/edit_text_to"
|
||||
android:src="@drawable/animation_swap_horizon" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_view_language_to"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="@string/tool_translation_language_english"
|
||||
android:textColor="?attr/app_theme"
|
||||
android:textSize="@dimen/tool_translation_text_size" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_text_from"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/tool_translation_edit_text_view_height"
|
||||
android:layout_margin="@dimen/tool_translation_layout_margin"
|
||||
android:autofillHints="text"
|
||||
android:background="@drawable/background_top_bottom_radius"
|
||||
android:gravity="start|top"
|
||||
android:hint="@string/tool_translation_please_enter_text"
|
||||
android:inputType="textMultiLine"
|
||||
android:maxLength="850"
|
||||
android:paddingHorizontal="@dimen/tool_translation_edit_text_view_padding"
|
||||
android:paddingTop="@dimen/tool_translation_edit_text_view_padding"
|
||||
android:paddingBottom="@dimen/tool_translation_edit_text_view_padding_plus"
|
||||
android:textColor="?attr/app_text_theme"
|
||||
android:textSize="@dimen/tool_translation_text_size"
|
||||
app:layout_constraintTop_toBottomOf="@id/linear_layout_language" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/edit_text_to"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/tool_translation_edit_text_view_height"
|
||||
android:layout_margin="@dimen/tool_translation_layout_margin"
|
||||
android:autofillHints="text"
|
||||
android:background="@drawable/background_top_bottom_radius"
|
||||
android:gravity="start|top"
|
||||
android:paddingHorizontal="@dimen/tool_translation_edit_text_view_padding"
|
||||
android:paddingTop="@dimen/tool_translation_edit_text_view_padding_plus"
|
||||
android:paddingBottom="@dimen/tool_translation_edit_text_view_padding"
|
||||
android:textColor="?attr/app_text_theme"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/tool_translation_text_size"
|
||||
app:layout_constraintTop_toBottomOf="@id/edit_text_from" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/background_round"
|
||||
android:padding="@dimen/tool_translation_clickable_padding"
|
||||
app:layout_constraintBottom_toTopOf="@id/edit_text_to"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/edit_text_from">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image_view_translate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="true"
|
||||
android:contentDescription="Translate"
|
||||
android:focusable="true"
|
||||
android:foreground="@drawable/foreground_ripple"
|
||||
android:src="@drawable/ic_tool_translation_translate"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/edit_text_from">
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image_view_translate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="true"
|
||||
android:contentDescription="Translate"
|
||||
android:focusable="true"
|
||||
android:foreground="@drawable/foreground_ripple"
|
||||
android:src="@drawable/ic_tool_translation_translate"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress_bar_in_translation"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:indeterminateTint="?attr/app_on_theme"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<ProgressBar
|
||||
android:id="@+id/progress_bar_in_translation"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:indeterminateTint="?attr/app_on_theme"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Reference in New Issue
Block a user