diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java index c6cb27c4e..b90e7880f 100755 --- a/app/src/main/java/com/hippo/ehviewer/Settings.java +++ b/app/src/main/java/com/hippo/ehviewer/Settings.java @@ -100,6 +100,11 @@ public class Settings { private static final int DEFAULT_VERSION_CODE = 0; private static final String KEY_DISPLAY_NAME = "display_name"; private static final String DEFAULT_DISPLAY_NAME = null; + public static final String KEY_LIST_THUMB_SIZE = "list_tile_size"; + private static final int DEFAULT_LIST_THUMB_SIZE = 40; + private static int LIST_THUMB_SIZE = 40; + + public static boolean LIST_THUMB_SIZE_INITED = false; private static final String KEY_AVATAR = "avatar"; private static final String DEFAULT_AVATAR = null; private static final String KEY_SHOW_WARNING = "show_warning"; @@ -1168,4 +1173,14 @@ public class Settings { public static void putPasswdToArchivePasswds(String value) { putStringToStringSet(KEY_ARCHIVE_PASSWDS, value); } + + public static int getListThumbSize() { + if (LIST_THUMB_SIZE_INITED) { + return LIST_THUMB_SIZE; + } + int size = 3 * getInt(KEY_LIST_THUMB_SIZE, DEFAULT_LIST_THUMB_SIZE); + LIST_THUMB_SIZE = size; + LIST_THUMB_SIZE_INITED = true; + return size; + } } 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 d88c5ee85..74d845e36 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 @@ -38,6 +38,7 @@ public class EhFragment extends BasePreferenceFragment { Preference blackDarkTheme = findPreference(Settings.KEY_BLACK_DARK_THEME); Preference gallerySite = findPreference(Settings.KEY_GALLERY_SITE); Preference listMode = findPreference(Settings.KEY_LIST_MODE); + Preference listThumbSize = findPreference(Settings.KEY_LIST_THUMB_SIZE); Preference detailSize = findPreference(Settings.KEY_DETAIL_SIZE); Preference thumbSize = findPreference(Settings.KEY_THUMB_SIZE); Preference showTagTranslations = findPreference(Settings.KEY_SHOW_TAG_TRANSLATIONS); @@ -46,6 +47,7 @@ public class EhFragment extends BasePreferenceFragment { theme.setOnPreferenceChangeListener(this); gallerySite.setOnPreferenceChangeListener(this); listMode.setOnPreferenceChangeListener(this); + listThumbSize.setOnPreferenceChangeListener(this); detailSize.setOnPreferenceChangeListener(this); thumbSize.setOnPreferenceChangeListener(this); showTagTranslations.setOnPreferenceChangeListener(this); @@ -70,6 +72,10 @@ public class EhFragment extends BasePreferenceFragment { } else if (Settings.KEY_LIST_MODE.equals(key)) { requireActivity().setResult(Activity.RESULT_OK); return true; + } else if (Settings.KEY_LIST_THUMB_SIZE.equals(key)) { + Settings.LIST_THUMB_SIZE_INITED = false; + requireActivity().setResult(Activity.RESULT_OK); + return true; } else if (Settings.KEY_DETAIL_SIZE.equals(key)) { requireActivity().setResult(Activity.RESULT_OK); } else if (Settings.KEY_THUMB_SIZE.equals(key)) { diff --git a/app/src/main/java/com/hippo/ehviewer/widget/ResizeableFixedThumb.kt b/app/src/main/java/com/hippo/ehviewer/widget/ResizeableFixedThumb.kt new file mode 100644 index 000000000..673adc281 --- /dev/null +++ b/app/src/main/java/com/hippo/ehviewer/widget/ResizeableFixedThumb.kt @@ -0,0 +1,13 @@ +package com.hippo.ehviewer.widget + +import android.content.Context +import android.util.AttributeSet +import com.hippo.ehviewer.Settings + +class ResizeableFixedThumb @JvmOverloads constructor( + context: Context, attrs: AttributeSet? = null +) : FixedThumb(context, attrs) { + override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { + setMeasuredDimension(Settings.getListThumbSize() * 2, Settings.getListThumbSize() * 3) + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/item_download.xml b/app/src/main/res/layout/item_download.xml index 0b34def27..9ab317f14 100644 --- a/app/src/main/res/layout/item_download.xml +++ b/app/src/main/res/layout/item_download.xml @@ -29,10 +29,10 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - diff --git a/app/src/main/res/layout/item_gallery_list.xml b/app/src/main/res/layout/item_gallery_list.xml index 3c2b6636f..fbab15013 100644 --- a/app/src/main/res/layout/item_gallery_list.xml +++ b/app/src/main/res/layout/item_gallery_list.xml @@ -35,10 +35,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content"> - diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 5333f59cd..4f2f5d80e 100755 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -768,4 +768,5 @@ 归档文件需要密码 密码错误 密码不能为空 + 详情模式下缩略图大小 diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index e5bb370a7..96d487546 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -134,10 +134,6 @@ - - - - diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 88c27c487..b1d594608 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -31,8 +31,6 @@ 16dp 1dp - 120dp - 80dp 0dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 30a78d770..246b8adae 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -832,4 +832,5 @@ Archive need password Password Wrong Password can\'t be empty + Thumb size in thumb mode diff --git a/app/src/main/res/xml/eh_settings.xml b/app/src/main/res/xml/eh_settings.xml index 9ac796a3d..42fb64a1d 100644 --- a/app/src/main/res/xml/eh_settings.xml +++ b/app/src/main/res/xml/eh_settings.xml @@ -82,6 +82,15 @@ app:entryValues="@array/list_mode_entry_values" app:iconSpaceReserved="false" /> + +