Browse Source

feat: 🔢 设置页面

master
niushuai233 1 year ago
parent
commit
39f08cdab9
  1. 1
      app/build.gradle
  2. 5
      app/src/main/java/cc/niushuai/didicheck/ui/main/TabsPagerAdapter.java
  3. 15
      app/src/main/java/cc/niushuai/didicheck/ui/main/settings/SettingsFragment.java
  4. 12
      app/src/main/res/values/arrays.xml
  5. 14
      app/src/main/res/values/strings.xml
  6. 35
      app/src/main/res/xml/root_preferences.xml

1
app/build.gradle

@ -48,6 +48,7 @@ dependencies { @@ -48,6 +48,7 @@ dependencies {
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.2'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation 'androidx.preference:preference:1.2.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'

5
app/src/main/java/cc/niushuai/didicheck/ui/main/TabsPagerAdapter.java

@ -11,6 +11,7 @@ import androidx.fragment.app.FragmentPagerAdapter; @@ -11,6 +11,7 @@ import androidx.fragment.app.FragmentPagerAdapter;
import cc.niushuai.didicheck.R;
import cc.niushuai.didicheck.ui.main.home.HomeFragment;
import cc.niushuai.didicheck.ui.main.records.DataListFragment;
import cc.niushuai.didicheck.ui.main.settings.SettingsFragment;
/**
* A [FragmentPagerAdapter] that returns a fragment corresponding to
@ -39,7 +40,7 @@ public class TabsPagerAdapter extends FragmentPagerAdapter { @@ -39,7 +40,7 @@ public class TabsPagerAdapter extends FragmentPagerAdapter {
dataListFragment = new DataListFragment();
return dataListFragment;
} else if (position == 2) {
return new DataListFragment();
return new SettingsFragment();
}
return new HomeFragment();
}
@ -52,7 +53,7 @@ public class TabsPagerAdapter extends FragmentPagerAdapter { @@ -52,7 +53,7 @@ public class TabsPagerAdapter extends FragmentPagerAdapter {
@Override
public int getCount() {
return 2;
return 3;
}
public HomeFragment getHomeFragment() {

15
app/src/main/java/cc/niushuai/didicheck/ui/main/settings/SettingsFragment.java

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
package cc.niushuai.didicheck.ui.main.settings;
import android.os.Bundle;
import androidx.preference.PreferenceFragmentCompat;
import cc.niushuai.didicheck.R;
public class SettingsFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.root_preferences, rootKey);
}
}

12
app/src/main/res/values/arrays.xml

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<resources>
<!-- Reply Preference -->
<string-array name="reply_entries">
<item>Reply</item>
<item>Reply to all</item>
</string-array>
<string-array name="reply_values">
<item>reply</item>
<item>reply_all</item>
</string-array>
</resources>

14
app/src/main/res/values/strings.xml

@ -4,5 +4,19 @@ @@ -4,5 +4,19 @@
<string name="tab_home">Home</string>
<string name="tab_records">Records</string>
<string name="tab_settings">Settings</string>
<!-- Preference Titles -->
<string name="messages_header">Messages</string>
<string name="sync_header">Sync</string>
<!-- Messages Preferences -->
<string name="signature_title">Your signature</string>
<string name="reply_title">Default reply action</string>
<!-- Sync Preferences -->
<string name="sync_title">Sync email periodically</string>
<string name="attachment_title">Download incoming attachments</string>
<string name="attachment_summary_on">Automatically download attachments for incoming emails
</string>
<string name="attachment_summary_off">Only download attachments when manually requested</string>
</resources>

35
app/src/main/res/xml/root_preferences.xml

@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory app:title="@string/messages_header">
<EditTextPreference
app:key="signature"
app:title="@string/signature_title"
app:useSimpleSummaryProvider="true" />
<ListPreference
app:defaultValue="reply"
app:entries="@array/reply_entries"
app:entryValues="@array/reply_values"
app:key="reply"
app:title="@string/reply_title"
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
<PreferenceCategory app:title="@string/sync_header">
<SwitchPreferenceCompat
app:key="sync"
app:title="@string/sync_title" />
<SwitchPreferenceCompat
app:dependency="sync"
app:key="attachment"
app:summaryOff="@string/attachment_summary_off"
app:summaryOn="@string/attachment_summary_on"
app:title="@string/attachment_title" />
</PreferenceCategory>
</PreferenceScreen>
Loading…
Cancel
Save