mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
优化强调色和文字颜色一样是文字颜色的显示
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package io.legado.app.lib.theme.view
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.util.AttributeSet
|
||||
import androidx.appcompat.widget.AppCompatRadioButton
|
||||
import io.legado.app.R
|
||||
@@ -29,35 +30,47 @@ class ThemeRadioNoButton(context: Context, attrs: AttributeSet) :
|
||||
when {
|
||||
isInEditMode -> Unit
|
||||
isBottomBackground -> {
|
||||
val accentColor = context.accentColor
|
||||
val isLight = ColorUtils.isColorLight(context.bottomBackground)
|
||||
val textColor = context.getPrimaryTextColor(isLight)
|
||||
val checkedTextColor = if (ColorUtils.isColorLight(accentColor)) {
|
||||
Color.BLACK
|
||||
} else {
|
||||
Color.WHITE
|
||||
}
|
||||
background = Selector.shapeBuild()
|
||||
.setCornerRadius(2.dpToPx())
|
||||
.setStrokeWidth(2.dpToPx())
|
||||
.setCheckedBgColor(context.accentColor)
|
||||
.setCheckedStrokeColor(context.accentColor)
|
||||
.setCheckedBgColor(accentColor)
|
||||
.setCheckedStrokeColor(accentColor)
|
||||
.setDefaultStrokeColor(textColor)
|
||||
.create()
|
||||
setTextColor(
|
||||
Selector.colorBuild()
|
||||
.setDefaultColor(textColor)
|
||||
.setCheckedColor(context.getPrimaryTextColor(ColorUtils.isColorLight(context.accentColor)))
|
||||
.setCheckedColor(checkedTextColor)
|
||||
.create()
|
||||
)
|
||||
}
|
||||
else -> {
|
||||
val textColor = context.getCompatColor(R.color.primaryText)
|
||||
val accentColor = context.accentColor
|
||||
val defaultTextColor = context.getCompatColor(R.color.primaryText)
|
||||
val checkedTextColor = if (ColorUtils.isColorLight(accentColor)) {
|
||||
Color.BLACK
|
||||
} else {
|
||||
Color.WHITE
|
||||
}
|
||||
background = Selector.shapeBuild()
|
||||
.setCornerRadius(2.dpToPx())
|
||||
.setStrokeWidth(2.dpToPx())
|
||||
.setCheckedBgColor(context.accentColor)
|
||||
.setCheckedStrokeColor(context.accentColor)
|
||||
.setDefaultStrokeColor(textColor)
|
||||
.setCheckedBgColor(accentColor)
|
||||
.setCheckedStrokeColor(accentColor)
|
||||
.setDefaultStrokeColor(defaultTextColor)
|
||||
.create()
|
||||
setTextColor(
|
||||
Selector.colorBuild()
|
||||
.setDefaultColor(textColor)
|
||||
.setCheckedColor(context.getPrimaryTextColor(ColorUtils.isColorLight(context.accentColor)))
|
||||
.setDefaultColor(defaultTextColor)
|
||||
.setCheckedColor(checkedTextColor)
|
||||
.create()
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user