如何在RecyclerView的XML的tools:listitem命名空间中指定多个列表项布局
问题解答
原生Android tools命名空间下的listitem属性本身暂不支持同时指定多个不同的列表项布局,你尝试的两种写法都不符合官方属性规范,因此会出现属性重复报错、跳转功能失效的问题。
目前可以使用以下几种替代方案实现多类型item的预览需求:
- 单布局单独配置预览:在每个ViewHolder对应的子布局根节点添加
tools:xxx相关预览属性(比如模拟文字、图片占位等),单独预览每个item布局的效果,不需要修改主页面的RecyclerView声明 - 自定义聚合预览布局:新建一个专门用于预览的布局文件,在其中按照你想要的展示顺序放入所有类型的item布局,再给RecyclerView设置
tools:listitem="@layout/你的聚合预览布局",即可在主布局的RecyclerView预览窗口同时看到多种item样式,且布局跳转功能可正常使用 - 利用样例数据差异化展示:如果不同类型item仅展示内容有区别、布局结构相似,可以通过
tools:sample属性绑定不同的样例数据源,配合tools:itemCount设置数量,实现预览界面展示不同内容的item效果
另外你提到的tools:showIn属性本身也仅支持指定单个父布局,不支持多值声明,这是tools命名空间的设计限制,目前没有官方原生的绕过方案。
内容的提问来源于stack exchange,提问作者MeLean
相关产品推荐
相关产品推荐

