From ac74a30fcf71ce8cf3a18a229c135c2cff64f4ed Mon Sep 17 00:00:00 2001 From: tarsin Date: Wed, 15 Jun 2022 23:10:12 +0800 Subject: [PATCH] Always cut and scale thumb on some scenes --- app/src/main/java/com/hippo/ehviewer/widget/FixedThumb.java | 6 ++++++ app/src/main/res/layout/item_download.xml | 3 +-- app/src/main/res/layout/item_gallery_list.xml | 3 +-- app/src/main/res/values/attrs.xml | 1 + 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/widget/FixedThumb.java b/app/src/main/java/com/hippo/ehviewer/widget/FixedThumb.java index 5c1d1bb76..95205009f 100644 --- a/app/src/main/java/com/hippo/ehviewer/widget/FixedThumb.java +++ b/app/src/main/java/com/hippo/ehviewer/widget/FixedThumb.java @@ -28,6 +28,7 @@ public class FixedThumb extends LoadImageView { private float minAspect; private float maxAspect; + private boolean alwaysCutAndScale; public FixedThumb(Context context) { super(context); @@ -48,6 +49,7 @@ public class FixedThumb extends LoadImageView { TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.FixedThumb, defStyleAttr, defStyleRes); minAspect = a.getFloat(R.styleable.FixedThumb_minAspect, 0.0f); maxAspect = a.getFloat(R.styleable.FixedThumb_maxAspect, 0.0f); + alwaysCutAndScale = a.getBoolean(R.styleable.FixedThumb_alwaysCutAndScale, false); a.recycle(); } @@ -58,6 +60,10 @@ public class FixedThumb extends LoadImageView { @Override public void onPreSetImageDrawable(Drawable drawable, boolean isTarget) { + if (alwaysCutAndScale) { + setScaleType(ScaleType.CENTER_CROP); + return; + } if (isTarget && drawable != null) { int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); diff --git a/app/src/main/res/layout/item_download.xml b/app/src/main/res/layout/item_download.xml index 5ca86b176..0b34def27 100644 --- a/app/src/main/res/layout/item_download.xml +++ b/app/src/main/res/layout/item_download.xml @@ -33,8 +33,7 @@ android:id="@+id/thumb" android:layout_width="@dimen/gallery_list_thumb_width" android:layout_height="@dimen/gallery_list_thumb_height" - app:maxAspect="1.333" - app:minAspect="0.333" + app:alwaysCutAndScale="true" app:retryType="longClick" /> diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 72857966b..80f5fdb21 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -53,6 +53,7 @@ +