Android5.0適配——水波紋點選效果
Android5.0後預設的的點選效果帶有高大上的水波紋,但是如果你還是按照5.0前那樣設定背景的話那就不會有波紋,實現也超級簡單
一,先在res資料夾下新建一個drawable-v21資料夾
二,把我們5.0之前的背景檔案比如select或者shape等複製到這drawable-v21資料夾下
比如我之前是這樣一個selector :
<item android:state_enabled="false">
<shape>
<cornersandroid:radius="2dp"></corners>
<solidandroid:color="@color/redcolorPressed"
</shape>
</item>
<item android:state_pressed="true">
<shape>
<cornersandroid:radius="2dp"></corners>
<solidandroid:color="@color/redcolorPressed"></solid>
</shape>
</item>
<item android:state_pressed="false">
<shape>
<corners
<solidandroid:color="@color/colormain"></solid>
</shape>
</item>
</selector>
在drawble-v21下改成這樣就行了,就是在外面包一層ripple和一個item:
android:color="@color/ripple_material_dark">//水波紋的顏色
<item>
<selector>
<item android:state_enabled="false">
<shape>
<cornersandroid:radius="2dp"></corners>
<solidandroid:color="@color/redcolorPressed"></solid>
</shape>
</item>
<item android:state_pressed="true">
<shape>
<cornersandroid:radius="2dp"></corners>
<solidandroid:color="@color/redcolorPressed"></solid>
</shape>
</item>
<item android:state_pressed="false">
<shape>
<cornersandroid:radius="2dp"></corners>
<solidandroid:color="@color/colormain"></solid>
</shape>
</item>
</selector>
</item>
</ripple>
當然你也可以用一些第三方的庫來實現相容版本的水波紋效果,不過我試了一些,效果始終沒有原生的好,有時還會出現一些bug,所以個人覺得還是用原生的比較好,畢竟現在5.0以上越來越多,這是趨勢,5.0以下慢慢淘汰,只要做好selector就行了
原創作品,歡迎轉載