Fix list selection corners

pull/153/head
Koitharu 4 years ago
parent 695feef4a6
commit e91d9ee38e
No known key found for this signature in database
GPG Key ID: 8E861F8CE6E7CE27

@ -28,6 +28,7 @@ class MangaSelectionDecoration(context: Context) : AbstractSelectionItemDecorati
ColorUtils.blendARGB(strokeColor, context.getThemeColor(materialR.attr.colorSurface), 0.8f), ColorUtils.blendARGB(strokeColor, context.getThemeColor(materialR.attr.colorSurface), 0.8f),
0x74 0x74
) )
private val defaultRadius = context.resources.getDimension(R.dimen.list_selector_corner)
init { init {
hasBackground = false hasBackground = false
@ -51,21 +52,24 @@ class MangaSelectionDecoration(context: Context) : AbstractSelectionItemDecorati
bounds: RectF, bounds: RectF,
state: RecyclerView.State, state: RecyclerView.State,
) { ) {
val radius = (child as? CardView)?.radius ?: 32f val isCard = child is CardView
val radius = (child as? CardView)?.radius ?: defaultRadius
paint.color = fillColor paint.color = fillColor
paint.style = Paint.Style.FILL paint.style = Paint.Style.FILL
canvas.drawRoundRect(bounds, radius, radius, paint) canvas.drawRoundRect(bounds, radius, radius, paint)
paint.color = strokeColor paint.color = strokeColor
paint.style = Paint.Style.STROKE paint.style = Paint.Style.STROKE
canvas.drawRoundRect(bounds, radius, radius, paint) canvas.drawRoundRect(bounds, radius, radius, paint)
checkIcon?.run { if (isCard) {
setBounds( checkIcon?.run {
(bounds.left + iconOffset).toInt(), setBounds(
(bounds.top + iconOffset).toInt(), (bounds.left + iconOffset).toInt(),
(bounds.left + iconOffset + intrinsicWidth).toInt(), (bounds.top + iconOffset).toInt(),
(bounds.top + iconOffset + intrinsicHeight).toInt(), (bounds.left + iconOffset + intrinsicWidth).toInt(),
) (bounds.top + iconOffset + intrinsicHeight).toInt(),
draw(canvas) )
draw(canvas)
}
} }
} }
} }

@ -11,7 +11,7 @@
android:bottom="2dp" android:bottom="2dp"
android:left="2dp"> android:left="2dp">
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<corners android:radius="12dp" /> <corners android:radius="@dimen/list_selector_corner" />
<solid android:color="@color/selector_overlay" /> <solid android:color="@color/selector_overlay" />
</shape> </shape>
</item> </item>
@ -22,7 +22,7 @@
android:bottom="2dp" android:bottom="2dp"
android:left="2dp"> android:left="2dp">
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<corners android:radius="12dp" /> <corners android:radius="@dimen/list_selector_corner" />
<solid android:color="@color/selector_overlay" /> <solid android:color="@color/selector_overlay" />
</shape> </shape>
</item> </item>
@ -32,7 +32,7 @@
android:bottom="2dp" android:bottom="2dp"
android:left="2dp"> android:left="2dp">
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<corners android:radius="12dp" /> <corners android:radius="@dimen/list_selector_corner" />
<solid android:color="?android:attr/windowBackground" /> <solid android:color="?android:attr/windowBackground" />
</shape> </shape>
</item> </item>

@ -20,6 +20,7 @@
<dimen name="list_footer_height_outer">48dp</dimen> <dimen name="list_footer_height_outer">48dp</dimen>
<dimen name="screen_padding">16dp</dimen> <dimen name="screen_padding">16dp</dimen>
<dimen name="selection_stroke_width">2dp</dimen> <dimen name="selection_stroke_width">2dp</dimen>
<dimen name="list_selector_corner">12dp</dimen>
<dimen name="search_suggestions_manga_height">124dp</dimen> <dimen name="search_suggestions_manga_height">124dp</dimen>
<dimen name="search_suggestions_manga_spacing">4dp</dimen> <dimen name="search_suggestions_manga_spacing">4dp</dimen>

Loading…
Cancel
Save