如何动态更改RecyclerView卡的颜色

时间:2015-05-16 05:47:17

标签: android material-design android-recyclerview

我有一个RecyclerView,显示相同大小和相似内容的卡片。有谁知道如何根据它所拥有的物体改变卡片的颜色?因此,对象“A”将具有蓝卡并且对象“B”将具有红色卡。我已经看到网络上的视觉设计实现了这一点,但我想知道是否有人会有关于如何实现这一目标的示例代码或建议。

以下是我在开发应用中使用的“材料设计”卡片:

material design cards

2 个答案:

答案 0 :(得分:0)

我认为最好的方法(如果您事先知道卡应该具有什么颜色)是将背景颜色保存在卡的数据对象中。

如果基于位置,您可以覆盖RecyclerView.Adapter.getItemViewType()以区分您想要的位置颜色。 如果您想为卡片使用随机颜色,也可以使用这种方式。

答案 1 :(得分:0)

确定。因此,我找到了一种很好的方法来动态更改颜色,例如Material Design上的新卡片功能。可以找到一个方法here。此代码允许您在访问基础图像加载线程时同步生成调色板。要访问这些漂亮的新功能,请确保在grade.build文件上编译库,如下所示:

compile 'com.android.support:palette-v7:21.0.+'