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" />
+
+