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" />