android api21及以上引入了控件點擊的水波紋效果
1.可以直接給控件設置
android:background="?android:attr/selectableItemBackground"(有邊界效果)
或者
android:backgroundTint="?android:attr/selectableItemBackgroundBorderless”(無邊界效果)
2、設置selector
drawable中創建selector文件,版本低於21時使用,例如:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <item android:drawable="@color/colorPrimaryDark" android:state_pressed="true" /> <item android:drawable="@color/colorPrimary" /> </selector>
res目錄下創建文件夾 drawable-v21 ,並創建xml文件:
<?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/color_half_black"><!-- press和水波紋的顏色 --> <item>
<!--item中可以自定義shape--><shape android:innerRadius="5dp" android:shape="rectangle"> <solid android:color="@color/colorPrimary" /> <corners android:radius="5dp" /> </shape> </item>
<!--或者直接定義normal(未點擊)狀態下的顏色--><!--<item android:drawable="@color/colorPrimary" />--></ripple>
是不是很簡單。