add proper button-state coloring for button text/icon

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2022-07-27 00:18:54 +02:00
parent aef9b69175
commit 907386e9b7
No known key found for this signature in database
GPG key ID: 6CADC7E3523C308B

View file

@ -32,6 +32,7 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.appcompat.content.res.AppCompatResources
import androidx.appcompat.widget.SwitchCompat
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat
import androidx.core.view.children
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
@ -113,8 +114,17 @@ class ViewThemeUtils @Inject constructor(private val theme: ServerTheme) {
}
fun colorMaterialButtonText(button: MaterialButton) {
colorTextViewElement(button)
button.iconTint = ColorStateList.valueOf(getElementColor(button.context))
withElementColor(button) { color ->
val disabledColor = ContextCompat.getColor(button.context, R.color.disabled_text)
val colorStateList = ColorStateList(
arrayOf(
intArrayOf(android.R.attr.state_enabled),
intArrayOf(-android.R.attr.state_enabled)),
intArrayOf(color, disabledColor)
)
button.setTextColor(colorStateList)
button.iconTint = colorStateList
}
}
fun colorMaterialButtonBackground(button: MaterialButton) {