Added multi-language switch

This commit is contained in:
2022-07-05 22:55:32 +08:00
parent e163c958d4
commit 32295e4a2b
22 changed files with 394 additions and 85 deletions

View File

@@ -23,7 +23,7 @@
</aapt:attr>
</path>
<path
android:fillColor="@color/default_app_theme"
android:fillColor="@color/white"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"

View File

@@ -23,7 +23,7 @@
</aapt:attr>
</path>
<path
android:fillColor="@color/default_app_theme"
android:fillColor="@color/white"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.setting.SettingFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
</ScrollView>

View File

@@ -1,22 +1,37 @@
<?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"
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="15dp"
tools:context=".ui.theme.ThemeFragment">
<TextView
android:id="@+id/text_theme"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/setting_dark_mode"
android:textColor="?attr/app_text_theme"
android:textSize="@dimen/default_text_size" />
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/theme_dark_mode_spinner"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
android:entries="@array/setting_dark_theme_selects_array"
android:spinnerMode="dropdown"
android:theme="@style/ThemeSpinner" />
</LinearLayout>
</LinearLayout>
</ScrollView>

View File

@@ -21,7 +21,7 @@
android:id="@+id/nav_setting"
android:name="com.fatapp.oxygentoolbox.ui.setting.SettingFragment"
android:label="@string/menu_setting"
tools:layout="@layout/fragment_setting" />
tools:layout="@xml/fragment_setting" />
<fragment
android:id="@+id/nav_about"

View File

@@ -22,4 +22,16 @@
<string name="init_tools_failed">初始化工具集失败</string>
<string name="activity_class_not_found">无法加载工具,该工具可能已损坏</string>
<string name="setting_dark_mode">深色主题</string>
<string name="setting_base_settings">基本设置</string>
<string name="setting_language">语言</string>
<string name="setting_launch_page">启动页</string>
<string-array name="setting_language_array">
<item>跟随系统</item>
<item>中文</item>
<item>English</item>
</string-array>
</resources>

View File

@@ -22,4 +22,16 @@
<string name="init_tools_failed">初始化工具集失败</string>
<string name="activity_class_not_found">无法加载工具,该工具可能已损坏</string>
<string name="setting_dark_mode">深色主题</string>
<string name="setting_base_settings">基本设置</string>
<string name="setting_language">语言</string>
<string name="setting_launch_page">启动页</string>
<string-array name="setting_language_array">
<item>跟随系统</item>
<item>中文</item>
<item>English</item>
</string-array>
</resources>

View File

@@ -22,4 +22,16 @@
<string name="init_tools_failed">初始化工具集失败</string>
<string name="activity_class_not_found">无法加载工具,该工具可能已损坏</string>
<string name="setting_dark_mode">深色主题</string>
<string name="setting_base_settings">基本设置</string>
<string name="setting_language">语言</string>
<string name="setting_launch_page">启动页</string>
<string-array name="setting_language_array">
<item>跟随系统</item>
<item>中文</item>
<item>English</item>
</string-array>
</resources>

View File

@@ -24,4 +24,26 @@
<string name="init_tools_failed">Failed to initialize tools</string>
<string name="activity_class_not_found">Can not load tool, it may be damaged</string>
<string name="setting_dark_mode">Dark Theme</string>
<string-array name="setting_dark_theme_selects_array">
<item>Follow Device</item>
<item>Light</item>
<item>Dark</item>
</string-array>
<string name="setting_base_settings">Base Settings</string>
<string name="setting_language">Language</string>
<string name="setting_language_key" translatable="false">app_language</string>
<string-array name="setting_language_array">
<item>Follow System</item>
<item>中文</item>
<item>English</item>
</string-array>
<string-array name="setting_language_values">
<item>default</item>
<item>zh_CN</item>
<item>en_US</item>
</string-array>
<string name="setting_launch_page">Launch Page</string>
</resources>

View File

@@ -19,4 +19,8 @@
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="ThemeSpinner" parent="Widget.AppCompat.Light.DropDownItem.Spinner">
<item name="android:textSize">@dimen/default_text_size</item>
<item name="android:textColor">?attr/app_text_theme</item>
</style>
</resources>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory app:title="@string/setting_base_settings">
<ListPreference
app:defaultValue="default"
app:entries="@array/setting_language_array"
app:entryValues="@array/setting_language_values"
app:key="@string/setting_language_key"
app:title="@string/setting_language"
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
<PreferenceCategory
app:key="help_category"
app:title="Help">
<Preference
app:key="feedback"
app:summary="Report technical issues or suggest new features"
app:title="Send feedback" />
</PreferenceCategory>
</PreferenceScreen>