先看效果图(偷来的)
Android 5.0中新增了ripple类型,即波纹效果。要实现此几种种效果,
我们需要在res中添加一个新的文件夹drawable-v21,在此文件夹下新建bgripple.xml 用于实现波纹效果。
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:color="@color/colorPrimary"> <!--波纹颜色--> <!--去掉此item内容就是无界效果--> <item> <shape android:shape="rectangle"> <solid android:color="#FFFFFF"/> <!-- 中间的背景色--> <corners android:radius="4dp"/> <!-- 设置背景四个角的角度 去掉即无角度 --> </shape> </item> </ripple>
兼容低版本适配
需要在drawable文件里创建同名文件bgripple.xml 适配5.0以下机型.(只有变色效果,没有波纹效果)
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:color="@color/colorPrimary"> <item android:drawable="@android:color/holo_purple" android:state_pressed="true"> </item> <item android:drawable="@color/colorPrimary" android:state_pressed="false"> </item> </selector>
使用
<TextView android:id="@+id/tv_title" android:layout_marginTop="5dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/bgripple"/>