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 201196941..db78b1feb 100755 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java @@ -49,6 +49,7 @@ import android.widget.ListView; import android.widget.RatingBar; import android.widget.TextView; +import androidx.annotation.DrawableRes; import androidx.annotation.IntDef; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -212,7 +213,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene @Nullable private TextView mShare; @Nullable - private TextView mRate; + private View mRate; @Nullable private TextView mSimilar; @Nullable @@ -554,7 +555,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene mTorrent = (TextView) ViewUtils.$$(mActions, R.id.torrent); mArchive = (TextView) ViewUtils.$$(mActions, R.id.archive); mShare = (TextView) ViewUtils.$$(mActions, R.id.share); - mRate = (TextView) ViewUtils.$$(mActions, R.id.rate); + mRate = ViewUtils.$$(mActions, R.id.rate); mSimilar = (TextView) ViewUtils.$$(mActions, R.id.similar); mSearchCover = (TextView) ViewUtils.$$(mActions, R.id.search_cover); mNewerVersion.setOnClickListener(this); @@ -566,7 +567,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene mRate.setOnClickListener(this); mSimilar.setOnClickListener(this); mSearchCover.setOnClickListener(this); - ensureActionDrawable(context); + ensureActionDrawable(); mTags = (LinearLayout) ViewUtils.$$(belowHeader, R.id.tags); mNoTags = (TextView) ViewUtils.$$(mTags, R.id.no_tags); @@ -722,28 +723,23 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene return true; } - private void setActionDrawable(TextView text, Drawable drawable) { + private void setActionDrawable(@Nullable TextView text, @DrawableRes int resId) { + if (text == null) return; + Context context = text.getContext(); + Drawable drawable = DrawableManager.getVectorDrawable(context, resId); + if (drawable == null) return; drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); text.setCompoundDrawables(null, drawable, null, null); } - private void ensureActionDrawable(Context context) { - Drawable heart = DrawableManager.getVectorDrawable(context, R.drawable.v_heart_primary_x48); - setActionDrawable(mHeart, heart); - Drawable heartOutline = DrawableManager.getVectorDrawable(context, R.drawable.v_heart_outline_primary_x48); - setActionDrawable(mHeartOutline, heartOutline); - Drawable torrent = DrawableManager.getVectorDrawable(context, R.drawable.v_utorrent_primary_x48); - setActionDrawable(mTorrent, torrent); - Drawable archive = DrawableManager.getVectorDrawable(context, R.drawable.v_archive_primary_x48); - setActionDrawable(mArchive, archive); - Drawable share = DrawableManager.getVectorDrawable(context, R.drawable.v_share_primary_x48); - setActionDrawable(mShare, share); - Drawable rate = DrawableManager.getVectorDrawable(context, R.drawable.v_thumb_up_primary_x48); - setActionDrawable(mRate, rate); - Drawable similar = DrawableManager.getVectorDrawable(context, R.drawable.v_similar_primary_x48); - setActionDrawable(mSimilar, similar); - Drawable searchCover = DrawableManager.getVectorDrawable(context, R.drawable.v_file_find_primary_x48); - setActionDrawable(mSearchCover, searchCover); + private void ensureActionDrawable() { + setActionDrawable(mHeart, R.drawable.v_heart_primary_x48); + setActionDrawable(mHeartOutline, R.drawable.v_heart_outline_primary_x48); + setActionDrawable(mTorrent, R.drawable.v_utorrent_primary_x48); + setActionDrawable(mArchive, R.drawable.v_archive_primary_x48); + setActionDrawable(mShare, R.drawable.v_share_primary_x48); + setActionDrawable(mSimilar, R.drawable.v_similar_primary_x48); + setActionDrawable(mSearchCover, R.drawable.v_file_find_primary_x48); } private boolean createCircularReveal() { diff --git a/app/src/main/java/com/hippo/util/DrawableManager.java b/app/src/main/java/com/hippo/util/DrawableManager.java index 183079715..1dd904fb9 100644 --- a/app/src/main/java/com/hippo/util/DrawableManager.java +++ b/app/src/main/java/com/hippo/util/DrawableManager.java @@ -17,21 +17,15 @@ package com.hippo.util; import android.content.Context; -import android.content.res.Resources; import android.graphics.drawable.Drawable; import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; +import androidx.core.content.res.ResourcesCompat; public final class DrawableManager { public static Drawable getVectorDrawable(@NonNull Context context, @DrawableRes int resId) { - return getVectorDrawable(context.getResources(), resId, context.getTheme()); - } - - public static Drawable getVectorDrawable(@NonNull Resources res, - @DrawableRes int resId, @Nullable Resources.Theme theme) { - return res.getDrawable(resId, theme); + return ResourcesCompat.getDrawable(context.getResources(), resId, context.getTheme()); } } diff --git a/app/src/main/res/layout/gallery_detail_actions.xml b/app/src/main/res/layout/gallery_detail_actions.xml index 67b4984d7..0e03a66b9 100644 --- a/app/src/main/res/layout/gallery_detail_actions.xml +++ b/app/src/main/res/layout/gallery_detail_actions.xml @@ -19,8 +19,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:paddingTop="@dimen/keyline_margin" - android:paddingBottom="@dimen/keyline_margin"> + android:paddingTop="@dimen/keyline_margin"> - - - + android:background="?selectableItemBackground" + android:orientation="vertical" + android:paddingBottom="@dimen/keyline_margin"> - + + + + diff --git a/app/src/main/res/layout/item_select_dialog.xml b/app/src/main/res/layout/item_select_dialog.xml index b891cbabe..7ed236835 100644 --- a/app/src/main/res/layout/item_select_dialog.xml +++ b/app/src/main/res/layout/item_select_dialog.xml @@ -16,12 +16,11 @@ + android:paddingRight="?attr/listPreferredItemPaddingRight" />