add a setting for changing font size

This commit is contained in:
tibbi 2016-09-25 18:02:16 +02:00
parent f00c310dae
commit eea3f3dc63
12 changed files with 107 additions and 2 deletions

View File

@ -10,7 +10,7 @@ public class Config {
return new Config(context);
}
public Config(Context context) {
private Config(Context context) {
mPrefs = context.getSharedPreferences(Constants.PREFS_KEY, Context.MODE_PRIVATE);
}
@ -45,4 +45,12 @@ public class Config {
public void setShouldPromptAutosave(boolean prompt) {
mPrefs.edit().putBoolean(Constants.PROMPT_AUTOSAVE, prompt).apply();
}
public int getFontSize() {
return mPrefs.getInt(Constants.FONT_SIZE, Constants.FONT_SIZE_NORMAL);
}
public void setFontSize(int size) {
mPrefs.edit().putInt(Constants.FONT_SIZE, size).apply();
}
}

View File

@ -9,6 +9,13 @@ public class Constants {
public static final String IS_DARK_THEME = "is_dark_theme";
public static final String AUTOSAVE = "autosave";
public static final String PROMPT_AUTOSAVE = "prompt_autosave";
public static final String FONT_SIZE = "font_size";
public static final String WIDGET_BG_COLOR = "widget_bg_color";
public static final String WIDGET_TEXT_COLOR = "widget_text_color";
// font sizes
public static final int FONT_SIZE_SMALL = 0;
public static final int FONT_SIZE_NORMAL = 1;
public static final int FONT_SIZE_LARGE = 2;
}

View File

@ -2,6 +2,7 @@ package com.simplemobiletools.notes.activities;
import android.os.Bundle;
import android.support.v4.app.TaskStackBuilder;
import android.support.v7.widget.AppCompatSpinner;
import android.support.v7.widget.SwitchCompat;
import com.simplemobiletools.notes.Config;
@ -10,10 +11,12 @@ import com.simplemobiletools.notes.R;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.OnItemSelected;
public class SettingsActivity extends SimpleActivity {
@BindView(R.id.settings_dark_theme) SwitchCompat mDarkThemeSwitch;
@BindView(R.id.settings_autosave) SwitchCompat mAutosaveSwitch;
@BindView(R.id.settings_font_size) AppCompatSpinner mFontSizeSpinner;
private static Config mConfig;
@ -26,6 +29,7 @@ public class SettingsActivity extends SimpleActivity {
setupDarkTheme();
setupAutosave();
setupFontSize();
mConfig.setShouldPromptAutosave(false);
}
@ -37,6 +41,10 @@ public class SettingsActivity extends SimpleActivity {
mAutosaveSwitch.setChecked(mConfig.getIsAutosaveEnabled());
}
private void setupFontSize() {
mFontSizeSpinner.setSelection(mConfig.getFontSize());
}
@OnClick(R.id.settings_dark_theme_holder)
public void handleDarkTheme() {
mDarkThemeSwitch.setChecked(!mDarkThemeSwitch.isChecked());
@ -50,6 +58,11 @@ public class SettingsActivity extends SimpleActivity {
mConfig.setIsAutosaveEnabled(mAutosaveSwitch.isChecked());
}
@OnItemSelected(R.id.settings_font_size)
public void handleMaxPhotoResolution() {
mConfig.setFontSize(mFontSizeSpinner.getSelectedItemPosition());
}
private void restartActivity() {
TaskStackBuilder.create(getApplicationContext()).addNextIntentWithParentStack(getIntent()).startActivities();
}

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:id="@+id/settings_scrollview"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/settings_scrollview"
android:layout_width="match_parent"
android:layout_height="wrap_content">
@ -62,5 +62,32 @@
android:clickable="false"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_font_size_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/settings_padding"
android:paddingBottom="@dimen/activity_margin"
android:paddingLeft="@dimen/activity_margin"
android:paddingRight="@dimen/settings_padding"
android:paddingTop="@dimen/activity_margin">
<TextView
android:id="@+id/settings_font_size_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/settings_padding"
android:text="@string/note_font_size"/>
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/settings_font_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:entries="@array/font_sizes"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>

View File

@ -17,6 +17,10 @@
<string name="settings">Einstellungen</string>
<string name="dark_theme">Dunkles Thema</string>
<string name="autosave">Automatisches Speichern</string>
<string name="note_font_size">Note font size</string>
<string name="small">Small</string>
<string name="normal">Normal</string>
<string name="large">Large</string>
<!-- About -->
<string name="about">Über</string>

View File

@ -17,6 +17,10 @@
<string name="settings">Impostazioni</string>
<string name="dark_theme">Tema scuro</string>
<string name="autosave">Autosalvataggio</string>
<string name="note_font_size">Note font size</string>
<string name="small">Small</string>
<string name="normal">Normal</string>
<string name="large">Large</string>
<!-- About -->
<string name="about">Informazioni</string>

View File

@ -17,6 +17,10 @@
<string name="settings">設定</string>
<string name="dark_theme">ダークテーマ</string>
<string name="autosave">自動保存</string>
<string name="note_font_size">Note font size</string>
<string name="small">Small</string>
<string name="normal">Normal</string>
<string name="large">Large</string>
<!-- About -->
<string name="about">アプリについて</string>

View File

@ -17,6 +17,10 @@
<string name="settings">Inställningar</string>
<string name="dark_theme">Mörkt tema</string>
<string name="autosave">Spara automatiskt</string>
<string name="note_font_size">Note font size</string>
<string name="small">Small</string>
<string name="normal">Normal</string>
<string name="large">Large</string>
<!-- About -->
<string name="about">Om</string>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="font_sizes" translatable="false">
<item>@string/small</item>
<item>@string/normal</item>
<item>@string/large</item>
</string-array>
</resources>

View File

@ -4,6 +4,8 @@
<dimen name="social_logo">40dp</dimen>
<dimen name="settings_padding">8dp</dimen>
<dimen name="tiny_text_size">12sp</dimen>
<dimen name="normal_text_size">14sp</dimen>
<dimen name="large_text_size">18sp</dimen>
<dimen name="config_text_size">18sp</dimen>
</resources>

View File

@ -17,6 +17,10 @@
<string name="settings">Settings</string>
<string name="dark_theme">Dark theme</string>
<string name="autosave">Autosave</string>
<string name="note_font_size">Note font size</string>
<string name="small">Small</string>
<string name="normal">Normal</string>
<string name="large">Large</string>
<!-- About -->
<string name="about">About</string>

View File

@ -5,6 +5,10 @@
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item>
<item name="android:spinnerItemStyle">@style/SpinnerItem</item>
<item name="spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item>
<item name="android:textSize">@dimen/normal_text_size</item>
</style>
<style name="AppTheme.Dark" parent="Theme.AppCompat">
@ -13,6 +17,10 @@
<item name="colorAccent">@color/colorAccent</item>
<item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item>
<item name="android:windowBackground">@android:color/black</item>
<item name="android:spinnerItemStyle">@style/SpinnerItem</item>
<item name="spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item>
<item name="android:textSize">@dimen/normal_text_size</item>
</style>
<style name="MyWidgetConfigTheme" parent="@style/AppTheme">
@ -29,4 +37,16 @@
<item name="android:fontFamily">sans-serif</item>
<item name="android:textSize">20sp</item>
</style>
<style name="SpinnerItem" parent="@android:style/Widget.TextView">
<item name="android:paddingRight">@dimen/activity_margin</item>
</style>
<style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.TextView">
<item name="android:gravity">center_vertical</item>
<item name="android:paddingTop">@dimen/settings_padding</item>
<item name="android:paddingBottom">@dimen/settings_padding</item>
<item name="android:paddingLeft">@dimen/activity_margin</item>
<item name="android:paddingRight">@dimen/activity_margin</item>
</style>
</resources>