本日は Android
の Button
で State
に応じて BackgroundColor
を変更する方法を紹介していきたいと思います。
それではやっていく
まずは、state
によって切り替わる Color
を xml
として定義します。今回は state_background.xml
という名前でファイルを作成しました。<item android:color="@color/fideeBorder" android:state_enabled="false"/>
の行で state
が disable
の時の Color
を指定していて、android:state_enable
の指定がない場合は、enable
状態の Color
に指定されます。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/fideeBorder" android:state_enabled="false"/> <item android:color="@color/fideeBlue"/> </selector>
あとは、Button
の app:backgroundTint
属性に先ほど作成した Color
リソースを下記のように指定すれば State
によって BackgroundColor
が変わるボタンの完成です🎉
app:backgroundTint="@color/state_background"