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"

相关内容

热门资讯

第7分钟教程!微乐小程序免费黑... 第7分钟教程!微乐小程序免费黑科技,微乐贵阳捉鸡麻将辅助(开挂)总是是有挂(2026)该软件可以轻松...
插件辅助挂!微乐小程序免费黑科... 插件辅助挂!微乐小程序免费黑科技,微乐小程序游戏破解器下载(透视)竟然真的有挂(哔哩哔哩)1、每一步...
第7分钟神器!微乐小程序免费黑... 您好,微乐小程序免费黑科技这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很...
透视游戏!微乐小程序免费黑科技... 透视游戏!微乐小程序免费黑科技,微乐小程游戏破解器下载(透视)其实真的是有挂(哔哩哔哩)1、上手简单...
六分钟教程!微乐小程序黑科技,... 六分钟教程!微乐小程序黑科技,微乐家乡官方app(开挂)其实是真的挂(2026)1、许多玩家不知道微...
2026版规律!微乐小程序免费... 2026版规律!微乐小程序免费黑科技,广西微乐小程序辅助器(透视)一贯存在有挂(哔哩哔哩)1、该软件...
3分钟辅助!微乐小程序免费黑科... 3分钟辅助!微乐小程序免费黑科技,微信小程序微乐安徽辅助器(开挂)都是真的有挂(2026)暗藏猫腻,...
事发当天!微乐小程序黑科技,微... 事发当天!微乐小程序黑科技,微信小程序微乐安徽辅助苹果(透视)一直存在有挂(哔哩哔哩)1、很好的工具...
第二分钟安装!微乐小程序免费黑... 您好,微乐小程序免费黑科技这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很...
黑科技技巧!微乐小程序免费黑科... 黑科技技巧!微乐小程序免费黑科技,微乐家乡官方app下载(透视)其实真的有挂(哔哩哔哩)1、打开软件...