iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【Android】ButtonのStateに応じてBackgroundを変更する

本日は AndroidButtonState に応じて BackgroundColor を変更する方法を紹介していきたいと思います。

それではやっていく

まずは、state によって切り替わる Colorxml として定義します。今回は state_background.xml という名前でファイルを作成しました。<item android:color="@color/fideeBorder" android:state_enabled="false"/> の行で statedisable の時の 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>

あとは、Buttonapp:backgroundTint 属性に先ほど作成した Color リソースを下記のように指定すれば State によって BackgroundColor が変わるボタンの完成です🎉

app:backgroundTint="@color/state_background"

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com