Android--利用selector设置Button

如下图所示,为了实现这个效果:

这里写图片描述

主要有两部分:

  • 按键
  • 文字

按键

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>

猜你喜欢

转载自blog.csdn.net/qq_28877125/article/details/80991520