Android 水波紋效果實現並且適配API21以下
阿新 • • 發佈:2019-01-03
前言
水波紋的點選效果還是很不錯的,使用起來也很簡單,但是在API21,Android5.0以下使用水波紋效果會直接崩潰,所以我們得考慮到適配
1、在res裡建立drawable-v21資料夾,在該資料夾下建立一個xml檔案
<!-- color_106是一個淺灰色的 --> <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/color_106"> <!--去掉此item內容就是無界效果--> <item android:drawable="@color/white"/> </ripple>
2、然後在drawable資料夾下建立一個同名的xml檔案
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/white" android:state_focused="false" android:state_pressed="false"/> <item android:drawable="@color/color_106" android:state_pressed="true"/> <item android:drawable="@color/color_106" android:state_focused="true"/> </selector>
5.0以後適用水波紋,5.0以下就是簡單的selector點選白色背景變為灰色
最後
這個也是一個坑,當時沒注意,然後直接用了ripple效果,結果導致5.0以下的手機進到使用ripple的介面都崩潰了。這個小坑記錄下來。