我有以下用例:使用带有自定义适配器的RecyclerView列出一组简单的数据(每行有类似图标,标题和描述的内容)。想想你最喜欢的电子邮件或新闻源应用程序,这在视觉上很可能是相同的。
我已经达到了这样的程度,我需要对列表中的一些关键元素进行风格化,以表示特殊情况 - 它们是未读的"或者他们被推荐" (例如,使用不同的背景颜色,标题字体变为粗体,图标变大,描述被隐藏等)。
所有这些变体,纯粹是表示/视觉,我遵循了良好实践,并将它们定义为<style>
文件中的2个不同values/styles.xml
块。但是,基于某些程序条件,我很难将这两种样式中的一种应用于适配器的onBindViewHolder()
方法中的行。
(当然,我可以通过在每个单独的View上手动调用setBackgroundColor()
等以编程方式修改样式,但这似乎是一个看似微不足道的问题的丑陋的解决方法;另外,这种方式我们正在跳过.xml样式提供的所有好处,如分辨率或特定于区域设置的样式。)