diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java index 6ef438b9e..94071c532 100644 --- a/app/src/main/java/com/hippo/ehviewer/Settings.java +++ b/app/src/main/java/com/hippo/ehviewer/Settings.java @@ -21,6 +21,7 @@ import android.content.Context; import android.content.SharedPreferences; import android.net.Uri; import android.preference.PreferenceManager; +import android.support.annotation.DimenRes; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.util.Log; @@ -261,6 +262,19 @@ public class Settings { return getIntFromStr(KEY_THUMB_SIZE, DEFAULT_THUMB_SIZE); } + @DimenRes + public static int getThumbSizeResId() { + switch (getThumbSize()) { + case 0: + return R.dimen.gallery_grid_column_width_large; + default: + case 1: + return R.dimen.gallery_grid_column_width_middle; + case 2: + return R.dimen.gallery_grid_column_width_small; + } + } + 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/scene/GalleryAdapter.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryAdapter.java index 648cd4a7b..fc655fc9d 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 @@ -101,20 +101,7 @@ abstract class GalleryAdapter extends RecyclerView.Adapter { break; } case GalleryAdapter.TYPE_GRID: { - 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); + int columnWidth = mResources.getDimensionPixelOffset(Settings.getThumbSizeResId()); mLayoutManager.setColumnSize(columnWidth); mLayoutManager.setStrategy(AutoGridLayoutManager.STRATEGY_SUITABLE_SIZE); if (null == mGirdDecoration) { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java index 30d0f7c91..bc6bcf223 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java @@ -61,6 +61,7 @@ import com.hippo.ehviewer.AppConfig; import com.hippo.ehviewer.EhApplication; import com.hippo.ehviewer.EhDB; import com.hippo.ehviewer.R; +import com.hippo.ehviewer.Settings; import com.hippo.ehviewer.UrlOpener; import com.hippo.ehviewer.client.EhCacheKeyFactory; import com.hippo.ehviewer.client.EhClient; @@ -895,7 +896,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene mPreviewText.setText(R.string.more_previews); } - int columnWidth = resources.getDimensionPixelOffset(R.dimen.preview_grid_column_width); + int columnWidth = resources.getDimensionPixelOffset(Settings.getThumbSizeResId()); mGridLayout.setColumnSize(columnWidth); mGridLayout.setStrategy(SimpleGridAutoSpanLayout.STRATEGY_SUITABLE_SIZE); for (int i = 0, size = previewSet.size(); i < size; i++) { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java index 543ad097d..98ebab20e 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java @@ -38,6 +38,7 @@ import com.hippo.easyrecyclerview.EasyRecyclerView; import com.hippo.easyrecyclerview.MarginItemDecoration; import com.hippo.ehviewer.EhApplication; import com.hippo.ehviewer.R; +import com.hippo.ehviewer.Settings; import com.hippo.ehviewer.client.EhClient; import com.hippo.ehviewer.client.EhRequest; import com.hippo.ehviewer.client.EhUrl; @@ -141,7 +142,7 @@ public class GalleryPreviewsScene extends ToolbarScene implements EasyRecyclerVi mAdapter = new GalleryPreviewAdapter(); mRecyclerView.setAdapter(mAdapter); - int columnWidth = resources.getDimensionPixelOffset(R.dimen.preview_grid_column_width); + int columnWidth = resources.getDimensionPixelOffset(Settings.getThumbSizeResId()); AutoGridLayoutManager layoutManager = new AutoGridLayoutManager(context, columnWidth); layoutManager.setStrategy(AutoGridLayoutManager.STRATEGY_SUITABLE_SIZE); mRecyclerView.setLayoutManager(layoutManager); diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 67b528a91..1b0968659 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -53,8 +53,6 @@ 80dp 8dp - 120dp - 24dp 18dp