Buttonクリック効果でbuttonとその文字の変色を実現


valuesの下のStringxmlまたはcolor.xmlではどこで書きたいか見てみましょう
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <drawable name="purple">#CC00FF</drawable> // 
    <drawable name="black">#000000</drawable> //  
    
    <drawable name="red_normal">#FF0000</drawable> //  
    <drawable name="red_pressed">#993333</drawable> //   
</resources>

drawableの下にbt_を書きますcolor.xmlとtext_color.xml
bt_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/red_normal" android:state_pressed="false"/>
<item android:drawable="@drawable/red_pressed" android:state_pressed="true"/>
</selector>

text_color.xml
<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@drawable/black"  android:state_pressed="false"/>
<item android:color="@drawable/purple" android:state_pressed="true"/>
</selector>

これでButtonで使えるようになりました
<Button
android:id="@+id/bt_red"
android:layout_width=wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bt_color"
android:textColor="@drawable/textcolor"
android:textSize=" , "/>