按压反馈及形状修改
什么是按压反馈及形状修改
按压反馈指的是手指按住控件时,控件颜色、图片等变化提示。
形状修改指的是对原有控件的形状进行调整
实现
在drwable下创建shape_btn_normal.xml,颜色为红色(ff0000),修改形状大小为椭圆(oval)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="60dp"
android:height="60dp" />
<solid android:color="#ff0000" />
</shape>
同理创建一个shape_btn_press.xml,颜色为蓝色(#0000ff)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="60dp"
android:height="60dp" />
<solid android:color="#0000ff" />
</shape>
创建selector_btn.xml,在不同状态下显示不同的xml,注意press要放在前面,默认状态放后面
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_btn_press" android:state_pressed="true" />
<item android:drawable="@drawable/shape_btn_normal" />
</selector>
将selector应用在btn的background属性中,当按住按钮时会改变颜色
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/selector_btn" />
运行如图,可见Button从原来的圆角矩形按钮变成了椭圆,手指按压会从红色变成蓝色