AndroidrecyclerView:如何保留selectableItemBackground以保持行高亮?
创始人
2024-10-09 18:01:42
0次

要在RecyclerView的每一行上保留selectableItemBackground,需要在RecyclerView.Adapter的ViewHolder类中设置一个selector作为绑定的背景。

在ViewHolder中,您可以使用以下代码来设置selector:

public class MyViewHolder extends RecyclerView.ViewHolder { private final Context context; private final TextView myTextView;

public MyViewHolder(Context context, View view) {
    super(view);
    this.context = context;
    myTextView = (TextView) view.findViewById(R.id.myTextView);

    int[] attrs = new int[] { android.R.attr.selectableItemBackground /* index 0 */};
    TypedArray ta = context.obtainStyledAttributes(attrs);
    Drawable drawableFromTheme = ta.getDrawable(0 /* index */);
    myTextView.setBackground(drawableFromTheme);
    ta.recycle();
}

}

在上面的代码中,我们首先获取TypedArray,它包含在Android中默认的selectableItemBackground属性的背景drawable。然后,我们从typedArray中获取drawable并将其设置为row的背景,这样就可以保留高亮效果。

注意:要使此方法起作用,需要在XML布局文件中正确设置每个行的根布局属性:

android:clickable="true" android:focusable="true"

如果您的行布局不是根布局,则需要在布局中包含属性:

android:background="?android:attr/selectableItemBackground"

相关内容

热门资讯

透明教程!wpk系统是否存在作... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
重大消息!有没有人wepoke... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
技巧知识分享!wepoker公... 很多人使用云端 AI 时,都担心wepoker公共底牌、内部资料上传带来隐私风险。这款本地运行的 A...
分享给玩家!wepoker透视... wepoker透视脚本安卓AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻...
新版2025教程!wepoke... 新版2025教程!wepoker辅助器怎么弄,WPK开挂脚本平台(从来是真的有透视)主打本地运行的 ...
详细说明!德扑之星辅助器,we... 详细说明!德扑之星辅助器,wepoker开挂工具软件(最初有开挂)主打本地运行的 AI 黑科技工具迎...
每日必看!wepoker买脚本... 每日必看!wepoker买脚本靠谱吗,微扑克开挂脚本插件(素来是真的有开挂)主打本地运行的 AI 黑...
专业教程!wepoker辅助器... 很多人使用云端 AI 时,都担心wepoker辅助器安装包、内部资料上传带来隐私风险。这款本地运行的...
软件教程!wepoker-h5... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
新手必备!we-poker辅助... 您好,新手必备!we-poker辅助器,德扑之星到底有没有挂神器(本来真的是有透视挂)这款游戏可以开...