From 4d9452c791fc165f7395ff714be88b0acfa26303 Mon Sep 17 00:00:00 2001 From: seven332 Date: Sat, 2 Apr 2016 21:12:17 +0800 Subject: [PATCH] Add thumb size option --- .../main/java/com/hippo/ehviewer/Settings.java | 7 +++++++ .../hippo/ehviewer/ui/fragment/EhFragment.java | 4 ++++ .../hippo/ehviewer/ui/scene/GalleryAdapter.java | 16 +++++++++++++++- app/src/main/res/values-zh-rCN/strings.xml | 4 ++++ app/src/main/res/values-zh-rHK/strings.xml | 4 ++++ app/src/main/res/values-zh-rTW/strings.xml | 4 ++++ app/src/main/res/values/arrays.xml | 14 +++++++++++++- app/src/main/res/values/dimens.xml | 4 +++- app/src/main/res/values/strings.xml | 4 ++++ app/src/main/res/xml/eh_settings.xml | 8 ++++++++ 10 files changed, 66 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java index ca205d436..f2bfc5b3d 100644 --- a/app/src/main/java/com/hippo/ehviewer/Settings.java +++ b/app/src/main/java/com/hippo/ehviewer/Settings.java @@ -253,6 +253,13 @@ public class Settings { return getIntFromStr(KEY_LIST_MODE, DEFAULT_LIST_MODE); } + public static final String KEY_THUMB_SIZE = "thumb_size"; + private static final int DEFAULT_THUMB_SIZE = 1; + + public static int getThumbSize() { + return getIntFromStr(KEY_THUMB_SIZE, DEFAULT_THUMB_SIZE); + } + private static final String KEY_SHOW_JPN_TITLE = "show_jpn_title"; private static final boolean DEFAULT_SHOW_JPN_TITLE = false; diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java index 78f99f07d..a5de7cb80 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java @@ -34,9 +34,11 @@ public class EhFragment extends PreferenceFragment Preference gallerySite = findPreference(Settings.KEY_GALLERY_SITE); Preference listMode = findPreference(Settings.KEY_LIST_MODE); + Preference thumbSize = findPreference(Settings.KEY_THUMB_SIZE); gallerySite.setOnPreferenceChangeListener(this); listMode.setOnPreferenceChangeListener(this); + thumbSize.setOnPreferenceChangeListener(this); } @Override @@ -48,6 +50,8 @@ public class EhFragment extends PreferenceFragment } else if (Settings.KEY_LIST_MODE.equals(key)) { getActivity().setResult(Activity.RESULT_OK); return true; + } else if (Settings.KEY_THUMB_SIZE.equals(key)) { + getActivity().setResult(Activity.RESULT_OK); } return true; } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.java index 8e2d01c9a..648cd4a7b 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.java @@ -33,6 +33,7 @@ import android.widget.TextView; import com.hippo.drawable.TriangleDrawable; import com.hippo.easyrecyclerview.MarginItemDecoration; import com.hippo.ehviewer.R; +import com.hippo.ehviewer.Settings; import com.hippo.ehviewer.client.EhCacheKeyFactory; import com.hippo.ehviewer.client.EhUtils; import com.hippo.ehviewer.client.data.GalleryInfo; @@ -100,7 +101,20 @@ abstract class GalleryAdapter extends RecyclerView.Adapter { break; } case GalleryAdapter.TYPE_GRID: { - int columnWidth = mResources.getDimensionPixelOffset(R.dimen.gallery_grid_column_width); + int columnWidthId; + switch (Settings.getThumbSize()) { + case 0: + columnWidthId = R.dimen.gallery_grid_column_width_large; + break; + default: + case 1: + columnWidthId = R.dimen.gallery_grid_column_width_middle; + break; + case 2: + columnWidthId = R.dimen.gallery_grid_column_width_small; + break; + } + int columnWidth = mResources.getDimensionPixelOffset(columnWidthId); mLayoutManager.setColumnSize(columnWidth); mLayoutManager.setStrategy(AutoGridLayoutManager.STRATEGY_SUITABLE_SIZE); if (null == mGirdDecoration) { diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 45e4e9dce..5580f6882 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -361,6 +361,10 @@ 列表模式 详情 缩略图 + 缩略图大小 + 大 + 中 + 小 主页分类显示 默认在主页所显示的分类 排除标签组 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 9822903c7..1a78b36ba 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -361,6 +361,10 @@ 列表模式 詳情 縮略圖 + 縮略圖大小 + 大 + 中 + 小 主頁分類顯示 默認在主頁所顯示的分類 排除標籤組 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 1612dd516..7b7a888da 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -361,6 +361,10 @@ 列表模式 詳情 縮圖 + 縮圖大小 + 大 + 中 + 小 主頁分類顯示 預設在主頁所顯示的分類 排除標籤組 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index cf1068438..c518d75ee 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -17,7 +17,7 @@ - + @string/settings_eh_list_mode_detail @string/settings_eh_list_mode_thumb @@ -37,6 +37,18 @@ 1 + + @string/settings_eh_thumb_size_large + @string/settings_eh_thumb_size_middle + @string/settings_eh_thumb_size_small + + + + 0 + 1 + 2 + + @string/star_2 @string/star_3 diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index aaca3f65b..b69f31110 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -48,7 +48,9 @@ 80dp 320dp - 120dp + 160dp + 120dp + 80dp 8dp 120dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 869af72c5..2ae4de545 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -403,6 +403,10 @@ List mode Detail Thumb + Thumb size + Large + Middle + Small Categories on Homepage The categories shown as default on Homepage Excluded languages diff --git a/app/src/main/res/xml/eh_settings.xml b/app/src/main/res/xml/eh_settings.xml index 1f35c943a..311ec35ca 100644 --- a/app/src/main/res/xml/eh_settings.xml +++ b/app/src/main/res/xml/eh_settings.xml @@ -40,6 +40,14 @@ app:entryValues="@array/list_mode_entry_values" android:defaultValue="0"/> + +