如下图所示,为了实现这个效果:
主要有两部分:
- 按键
- 文字
按键
android:background="@drawable/button_selector"
button_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_normal" android:state_pressed="false"/> <!--按键按下时-->
<item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/> <!--按键没有按下时-->
</selector>
btn_pressed.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#020c41"></solid> <!--按键内部填充-->
<stroke android:width="1dp" android:color="#FFFFFF"></stroke> <!--边框-->
</shape>
btn_normal.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white"></solid>
<stroke android:width="1dp" android:color="#FFFFFF"></stroke>
</shape>
文字
android:textColor="@drawable/text_color_selector"
text_color_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#57565D" android:state_pressed="false"/><!--按键没有按下,文字的颜色-->
<item android:color="#FFFFFF" android:state_pressed="true"/><!--按键按下时,文字的颜色-->
</selector>