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 android.widget.TextView
import androidx.appcompat.content.res.AppCompatResources import androidx.appcompat.content.res.AppCompatResources
import androidx.appcompat.widget.SwitchCompat import androidx.appcompat.widget.SwitchCompat
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.core.view.children import androidx.core.view.children
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
@ -113,8 +114,17 @@ class ViewThemeUtils @Inject constructor(private val theme: ServerTheme) {
} }
fun colorMaterialButtonText(button: MaterialButton) { fun colorMaterialButtonText(button: MaterialButton) {
colorTextViewElement(button) withElementColor(button) { color ->
button.iconTint = ColorStateList.valueOf(getElementColor(button.context)) 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) { fun colorMaterialButtonBackground(button: MaterialButton) {