Android Material适配 为控件设置指定背景色和点击波纹效果,有需要的朋友可以参考下。
大部分时候,我们都需要为控件设置指定背景色和点击效果
4.x以下可以使用selector,5.0以上需要带波纹效果,以下是实现该效果的方法。
比如实现Button的Material适配
<Button
android:text="TextView in CardView" android:layout_gravity="center" android:textSize="26sp" android:textColor="@android:color/white" android:clickable="true" android:background="@drawable/button_selector" android:padding="5dip" android:elevation="8dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
1.创建drawable和drawable-v21两个资源文件夹
2.在drawable中创建一个button_selector.xml的文件,设置需要的点击效果,使用selector实现。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/white" android:state_pressed="false"/> <item android:drawable="@color/grey" android:state_pressed="true"/> <item android:drawable="@android:color/white"/> </selector>
3.在drawable-v21中创建一个与drawable中同名的button_selector.xml的文件,设置需要的点击效果,ripple是Material的波纹效果。
<?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/grey">//点击时波纹的颜色 <item android:drawable="@android:color/white"/>//未点击时控件的颜色 </ripple>
完成。