如何动态更改 RecyclerView Card 的颜色
How to change RecyclerView Card's color dynamically
我有一个 RecyclerView,它显示相同大小和相似内容的卡片。有谁知道我将如何根据它所持有的对象来改变卡片的颜色?所以对象 "A" 会有一张蓝色卡片,而对象 "B" 会有一张红色卡片。我在网络上看到过视觉设计可以实现这一点,但我想知道是否有人会提供示例代码或关于如何实现这一点的建议。
下面是我的开发应用程序中的 "material design" 卡片:
我认为最好的方法(如果你事先知道一张卡片应该有什么颜色)是在卡片的数据对象中保存背景颜色。
如果它是基于位置的,您可以覆盖 RecyclerView.Adapter.getItemViewType() 来区分您想要的位置颜色。
如果您想对卡片使用随机颜色,也可以使用这种方式。
好的。因此,我找到了一种动态更改颜色的好方法,例如 Material Design 上的新卡片功能。可以找到操作方法 here。此代码允许您在有权访问底层图像加载线程时同步生成调色板。要访问这些漂亮的新功能,请确保像这样在 grade.build 文件上编译库:
compile 'com.android.support:palette-v7:21.0.+'
我有一个 RecyclerView,它显示相同大小和相似内容的卡片。有谁知道我将如何根据它所持有的对象来改变卡片的颜色?所以对象 "A" 会有一张蓝色卡片,而对象 "B" 会有一张红色卡片。我在网络上看到过视觉设计可以实现这一点,但我想知道是否有人会提供示例代码或关于如何实现这一点的建议。
下面是我的开发应用程序中的 "material design" 卡片:
我认为最好的方法(如果你事先知道一张卡片应该有什么颜色)是在卡片的数据对象中保存背景颜色。
如果它是基于位置的,您可以覆盖 RecyclerView.Adapter.getItemViewType() 来区分您想要的位置颜色。 如果您想对卡片使用随机颜色,也可以使用这种方式。
好的。因此,我找到了一种动态更改颜色的好方法,例如 Material Design 上的新卡片功能。可以找到操作方法 here。此代码允许您在有权访问底层图像加载线程时同步生成调色板。要访问这些漂亮的新功能,请确保像这样在 grade.build 文件上编译库:
compile 'com.android.support:palette-v7:21.0.+'