diff --git a/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java b/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java
index 028165c7..67dce566 100644
--- a/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java
+++ b/Clover/app/src/main/java/org/floens/chan/core/ChanPreferences.java
@@ -188,4 +188,9 @@ public class ChanPreferences {
public static boolean getVideoExternal() {
return p().getBoolean("preference_video_external", false);
}
+
+ public static int getFontSize() {
+ String font = p().getString("preference_font", null);
+ return font == null ? 15 : Integer.parseInt(font);
+ }
}
diff --git a/Clover/app/src/main/java/org/floens/chan/ui/fragment/SettingsFragment.java b/Clover/app/src/main/java/org/floens/chan/ui/fragment/SettingsFragment.java
index b7129892..4c14e9b9 100644
--- a/Clover/app/src/main/java/org/floens/chan/ui/fragment/SettingsFragment.java
+++ b/Clover/app/src/main/java/org/floens/chan/ui/fragment/SettingsFragment.java
@@ -32,6 +32,7 @@ import android.widget.Toast;
import org.floens.chan.R;
import org.floens.chan.core.ChanPreferences;
import org.floens.chan.ui.activity.AboutActivity;
+import org.floens.chan.ui.activity.BaseActivity;
import org.floens.chan.ui.activity.SettingsActivity;
import org.floens.chan.utils.ThemeHelper;
@@ -121,6 +122,24 @@ public class SettingsFragment extends PreferenceFragment {
return true;
}
});
+
+ final ListPreference font = (ListPreference) findPreference("preference_font");
+ String currentFontValue = font.getValue();
+ if (currentFontValue == null) {
+ font.setValue((String) font.getEntryValues()[0]);
+ currentFontValue = font.getValue();
+ }
+ updateSummary(font, currentFontValue);
+
+ font.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ updateSummary(font, newValue.toString());
+ BaseActivity.doRestartOnResume = true;
+
+ return true;
+ }
+ });
}
public void onStart() {
diff --git a/Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java b/Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java
index 5c5df326..e68168bf 100644
--- a/Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java
+++ b/Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java
@@ -268,13 +268,13 @@ public class PostView extends LinearLayout implements View.OnClickListener {
int imageSize = 0;
int repliesCountSize = 0;
if (isList()) {
- postCommentSize = ta.getDimensionPixelSize(R.styleable.PostView_list_comment_size, 0);
+ postCommentSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ThemeHelper.getInstance().getFontSize(), getResources().getDisplayMetrics());
commentPadding = ta.getDimensionPixelSize(R.styleable.PostView_list_comment_padding, 0);
postPadding = ta.getDimensionPixelSize(R.styleable.PostView_list_padding, 0);
imageSize = ta.getDimensionPixelSize(R.styleable.PostView_list_image_size, 0);
repliesCountSize = ta.getDimensionPixelSize(R.styleable.PostView_list_replies_count_size, 0);
} else if (isGrid()) {
- postCommentSize = ta.getDimensionPixelSize(R.styleable.PostView_grid_comment_size, 0);
+ postCommentSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ThemeHelper.getInstance().getFontSize() - 1, getResources().getDisplayMetrics());
commentPadding = ta.getDimensionPixelSize(R.styleable.PostView_grid_comment_padding, 0);
postPadding = ta.getDimensionPixelSize(R.styleable.PostView_grid_padding, 0);
imageSize = ta.getDimensionPixelSize(R.styleable.PostView_grid_image_size, 0);
diff --git a/Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java b/Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java
index cea10ba2..b8b2a9fc 100644
--- a/Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java
+++ b/Clover/app/src/main/java/org/floens/chan/utils/ThemeHelper.java
@@ -48,6 +48,7 @@ public class ThemeHelper {
private int spoilerColor;
private int inlineQuoteColor;
private int codeTagSize;
+ private int fontSize;
public static ThemeHelper getInstance() {
if (instance == null) {
@@ -95,6 +96,7 @@ public class ThemeHelper {
spoilerColor = ta.getColor(R.styleable.PostView_spoiler_color, 0);
inlineQuoteColor = ta.getColor(R.styleable.PostView_inline_quote_color, 0);
codeTagSize = ta.getDimensionPixelSize(R.styleable.PostView_code_tag_size, 0);
+ fontSize = ChanPreferences.getFontSize();
ta.recycle();
}
@@ -117,4 +119,8 @@ public class ThemeHelper {
public int getCodeTagSize() {
return codeTagSize;
}
+
+ public int getFontSize() {
+ return fontSize;
+ }
}
diff --git a/Clover/app/src/main/res/values/attrs.xml b/Clover/app/src/main/res/values/attrs.xml
index 96a2f502..fc3d038f 100644
--- a/Clover/app/src/main/res/values/attrs.xml
+++ b/Clover/app/src/main/res/values/attrs.xml
@@ -69,13 +69,11 @@ along with this program. If not, see .
-
-
diff --git a/Clover/app/src/main/res/values/strings.xml b/Clover/app/src/main/res/values/strings.xml
index 12ab099e..58c86529 100644
--- a/Clover/app/src/main/res/values/strings.xml
+++ b/Clover/app/src/main/res/values/strings.xml
@@ -158,6 +158,32 @@ along with this program. If not, see .
- black
+ Font size
+
+ - 10
+ - 11
+ - 12
+ - 13
+ - 14
+ - 15 (normal)
+ - 16
+ - 17
+ - 18
+ - 19
+
+
+ - 10
+ - 11
+ - 12
+ - 13
+ - 14
+ - 15
+ - 16
+ - 17
+ - 18
+ - 19
+
+
Board mode
- Catalog
diff --git a/Clover/app/src/main/res/values/styles.xml b/Clover/app/src/main/res/values/styles.xml
index 4b7b4be0..bf390f78 100644
--- a/Clover/app/src/main/res/values/styles.xml
+++ b/Clover/app/src/main/res/values/styles.xml
@@ -98,13 +98,11 @@ along with this program. If not, see .
- 5dp
- 120dp
- 8dp
- - 14sp
- 11sp
- 10dp
- 70dp
- 11dp
- - 15sp
- 14sp
- 200dp
diff --git a/Clover/app/src/main/res/xml/preference.xml b/Clover/app/src/main/res/xml/preference.xml
index d468788d..b0f6e2a9 100644
--- a/Clover/app/src/main/res/xml/preference.xml
+++ b/Clover/app/src/main/res/xml/preference.xml
@@ -51,6 +51,14 @@ along with this program. If not, see .
android:key="preference_theme"
android:title="@string/preference_theme" />
+
+