我想在
Android应用程序中使用RecyclerView.
我将RecyclerView示例项目导入Android Studio,它运行正常.
我将RecyclerView示例项目导入Android Studio,它运行正常.
我想让回收者视图中的项目在用户长时间按下时进行视觉反应.为此,我将视图的背景设置为selectableItemBackground.我做了这些修改:
>在text_row_item.xml中,我在FrameLayout标记上添加了这一行:
机器人:背景= “机器人:ATTR / selectableItemBackground”
>在CustomAdapter.java中,我在FrameLayout上添加了一个长按监听器:
v.setOnLongClickListener(new View.OnLongClickListener(){
@覆盖
public boolean onLongClick(查看视图){
Log.d(TAG,“Element”getPosition()“长按.”);
返回true;
}
});
如果我在Lollipop仿真器上运行修改后的样本,当我长按回收器视图中的项目时,我会得到很好的涟漪效果.
但是如果我在KitKat模拟器上运行应用程序,我就无法获得KitKat附带的发光效果.当我长按它时,列表中的项目变暗,并且长按聆听器确实会运行,但我预计随着长按发生,颜色会发光.
这是我正在发布的一个gif:
为什么selectableItemBackground不在KitKat上运行发光效果?如何让它在KitKat和Lollipop上运行?
解决方法
使用
android:background="?attr/selectableItemBackground" android:backgroundTint="@android:color/holo_blue_bright" android:clickable="true"
在recyleview行布局中