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 @@
+