相信你們確定有過這樣的需求,給recyclerview的條目設置按下變色或者水波紋效果android
1. 水波紋效果實現
1)系統效果less
系統有界效果
在API 21以上使用,纔有波紋效果;API 21如下使用只有變色效果,沒有波紋效果
android:background="?android:attr/selectableItemBackground"
系統無界效果
在API 21以上才能使用,API 21如下會報錯沒法編譯,最小版本要設置爲minSdkVersion 21
android:background="?android:attr/selectableItemBackgroundBorderless"
2)自定義效果
在drawable文件夾下新建 bg_change.xml 文件用於實現波紋效果。(僅限Android 5.0以上機型)ide
自定義有界效果
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/gray"> <!--波紋顏色-->
<item>
<shape android:shape="rectangle">
<!-- 填充背景色-->
<solid android:color="@color/white"/>
</shape>
</item>
</ripple>
自定義無界效果
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/gray"> <!--波紋顏色-->
</ripple>
自定義帶圖片效果
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/gray"> <!--波紋顏色-->
<item>
<selector>
<!-- 未點擊背景圖-->
<item
android:drawable="@drawable/normal_bg"
android:state_pressed="false" />
<!-- 點擊背景圖-->
<item
android:drawable="@drawable/select_bg"
android:state_pressed="true" />
</selector>
</item>
</ripple>
2. 按下變色效果
在drawable目錄下建立 bg_change.xml 文件佈局
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/white_color" android:state_pressed="false"/>
<item android:drawable="@color/red_color" android:state_pressed="true" />
</selector>
// android:drawable 可設置顏色跟圖片
//android:state_pressed="true" 表明按下
3. 在佈局中使用:
//設置背景
android:background="@drawable/bg_change"
可是有時候你會發現不管你怎麼設置都不起做用,
本文的關鍵點: 設置條目的點擊事件
本文的關鍵點: 設置條目的點擊事件
本文的關鍵點: 設置條目的點擊事件
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(holder.itemView.getContext(),"點擊了", Toast.LENGTH_SHORT).show();
}
});.net
到此你會發現按下效果已經出現了orm
————————————————
版權聲明:本文爲CSDN博主「水樣_年華」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/q714093365/article/details/77054080xml