diff --git a/app/src/main/java/com/hippo/drawable/RoundSideRectDrawable.java b/app/src/main/java/com/hippo/drawable/RoundSideRectDrawable.java
deleted file mode 100644
index 54a515ac5..000000000
--- a/app/src/main/java/com/hippo/drawable/RoundSideRectDrawable.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2016 Hippo Seven
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.hippo.drawable;
-
-import android.graphics.Canvas;
-import android.graphics.ColorFilter;
-import android.graphics.Paint;
-import android.graphics.Path;
-import android.graphics.PixelFormat;
-import android.graphics.Rect;
-import android.graphics.RectF;
-import android.graphics.drawable.Drawable;
-
-public class RoundSideRectDrawable extends Drawable {
-
- private final Paint mPaint;
- private final Path mPath;
- private final RectF mTempRectF;
-
- public RoundSideRectDrawable(int color) {
- mPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
- mPaint.setColor(color);
- mPath = new Path();
- mTempRectF = new RectF();
- }
-
- @Override
- protected void onBoundsChange(Rect bounds) {
- int width = bounds.width();
- int height = bounds.height();
- RectF rectF = mTempRectF;
- Path path = mPath;
-
- path.reset();
- if (width > height) {
- int radius = height / 2;
- path.moveTo(bounds.right - radius, bounds.top);
- rectF.set(bounds.right - height, bounds.top, bounds.right, bounds.bottom);
- path.arcTo(rectF, -90.0f, 180.0f, false);
- path.lineTo(bounds.left + radius, bounds.bottom);
- rectF.set(bounds.left, bounds.top, bounds.left + height, bounds.bottom);
- path.arcTo(rectF, 90.0f, 180.0f, false);
- path.lineTo(bounds.right - radius, bounds.top);
- } else if (width == height) {
- path.addCircle(bounds.centerX(), bounds.centerY(), width / 2, Path.Direction.CW);
- } else {
- // TODO
- }
- }
-
- @Override
- public void draw(Canvas canvas) {
- canvas.drawPath(mPath, mPaint);
- }
-
- @Override
- public void setAlpha(int alpha) {
- mPaint.setAlpha(alpha);
- }
-
- @Override
- public void setColorFilter(ColorFilter colorFilter) {
- mPaint.setColorFilter(colorFilter);
- }
-
- @Override
- public int getOpacity() {
- return PixelFormat.OPAQUE;
- }
-}
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 57f3d75c1..2f5e06ff4 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
@@ -25,6 +25,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
+import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
@@ -62,7 +63,6 @@ import androidx.transition.TransitionInflater;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.hippo.android.resource.AttrResources;
import com.hippo.beerbelly.BeerBelly;
-import com.hippo.drawable.RoundSideRectDrawable;
import com.hippo.ehviewer.AppConfig;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.EhDB;
@@ -936,7 +936,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene
TextView tgName = (TextView) inflater.inflate(R.layout.item_gallery_tag, ll, false);
ll.addView(tgName);
tgName.setText(readableTagName != null ? readableTagName : tg.groupName);
- tgName.setBackgroundDrawable(new RoundSideRectDrawable(colorName));
+ tgName.setBackgroundTintList(ColorStateList.valueOf(colorName));
String prefix = EhTagDatabase.namespaceToPrefix(tg.groupName);
if (prefix == null) {
@@ -956,7 +956,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene
}
tag.setText(readableTag != null ? readableTag : tagStr);
- tag.setBackgroundDrawable(new RoundSideRectDrawable(colorTag));
+ tag.setBackgroundTintList(ColorStateList.valueOf(colorTag));
tag.setTag(R.id.tag, tg.groupName + ":" + tagStr);
tag.setOnClickListener(this);
tag.setOnLongClickListener(this);
diff --git a/app/src/main/res/drawable/category_background.xml b/app/src/main/res/drawable/category_background.xml
new file mode 100644
index 000000000..c61329df0
--- /dev/null
+++ b/app/src/main/res/drawable/category_background.xml
@@ -0,0 +1,7 @@
+
+
+ -
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/round_side_rect.xml b/app/src/main/res/drawable/round_side_rect.xml
new file mode 100644
index 000000000..358fcfdd2
--- /dev/null
+++ b/app/src/main/res/drawable/round_side_rect.xml
@@ -0,0 +1,10 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/gallery_detail_header.xml b/app/src/main/res/layout/gallery_detail_header.xml
index 6d4cd1dda..7f609f262 100644
--- a/app/src/main/res/layout/gallery_detail_header.xml
+++ b/app/src/main/res/layout/gallery_detail_header.xml
@@ -78,6 +78,7 @@
android:layout_marginTop="8dp"
android:layout_marginRight="@dimen/keyline_margin"
android:ellipsize="end"
+ android:background="?selectableItemBackgroundBorderless"
android:singleLine="true"
android:textColor="@android:color/white"
android:textSize="@dimen/text_little_small" />
@@ -90,7 +91,7 @@
android:layout_alignLeft="@id/title"
android:layout_marginTop="12dp"
android:layout_marginRight="@dimen/keyline_margin"
- android:background="@android:color/white"
+ android:background="@drawable/category_background"
android:ellipsize="end"
android:paddingLeft="8dp"
android:paddingTop="2dp"
diff --git a/app/src/main/res/layout/item_gallery_preview.xml b/app/src/main/res/layout/item_gallery_preview.xml
index 76823450c..f5a7d392e 100644
--- a/app/src/main/res/layout/item_gallery_preview.xml
+++ b/app/src/main/res/layout/item_gallery_preview.xml
@@ -23,6 +23,7 @@
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:foreground="?selectableItemBackground"
auto:aspect="0.667"
auto:maxAspect="0.8"
auto:minAspect="0.5"
diff --git a/app/src/main/res/layout/item_gallery_tag.xml b/app/src/main/res/layout/item_gallery_tag.xml
index 70c56f537..461081532 100644
--- a/app/src/main/res/layout/item_gallery_tag.xml
+++ b/app/src/main/res/layout/item_gallery_tag.xml
@@ -20,6 +20,7 @@
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:paddingLeft="12dp"
+ android:background="@drawable/round_side_rect"
android:paddingTop="4dp"
android:paddingRight="12dp"
android:paddingBottom="4dp"
diff --git a/app/src/main/res/layout/scene_gallery_comments.xml b/app/src/main/res/layout/scene_gallery_comments.xml
index 68008d6d1..e4f36e0c5 100644
--- a/app/src/main/res/layout/scene_gallery_comments.xml
+++ b/app/src/main/res/layout/scene_gallery_comments.xml
@@ -48,7 +48,7 @@
@@ -63,6 +63,7 @@
android:maxHeight="112dp"
android:minHeight="56dp"
android:padding="@dimen/keyline_margin"
+ android:textColor="?colorOnPrimarySurface"
android:theme="@style/CommentEditText" />