Android 如何制作可缩放的ListView项目背景色?

Android 如何制作可缩放的ListView项目背景色?,android,listview,Android,Listview,我想制作一个可伸缩的ListView项目背景颜色,从绿色到红色,每天按一个刻度缩放。例如,365天,从第0天开始,它是绿色的,每一天它都会变红,但不是全部变红,最后在第365天它会变为全部变红。如何实现这一点?您可以使用ColorDrawable根据每个项目的颜色为其创建颜色,并将其指定为项目视图的背景。要以百分比获得两种颜色之间的颜色,可以使用argbeevaluator: int color = new ArgbEvaluator().evaluate(getAdapterPosition(

我想制作一个可伸缩的ListView项目背景颜色,从绿色到红色,每天按一个刻度缩放。例如,365天,从第0天开始,它是绿色的,每一天它都会变红,但不是全部变红,最后在第365天它会变为全部变红。如何实现这一点?

您可以使用
ColorDrawable
根据每个项目的颜色为其创建颜色,并将其指定为项目视图的背景。要以百分比获得两种颜色之间的颜色,可以使用
argbeevaluator

int color = new ArgbEvaluator().evaluate(getAdapterPosition()/365f, Color.GREEN, Color.RED);
ColorDrawable cd = new ColorDrawable(color);
view.setBackground(cd);
我对“getAdapterPosition()”有点困惑,你能解释一下吗?我还使用了这个代码,当我点击项目时,它会显示颜色,当我打开列表活动时,我需要这些颜色保持在项目上。我如何解决这个问题?顺便说一句,我使用listView not Recycle服务,
getAdapterPosition()
将转换为
listView
适配器的
getView
中的
位置(第一个参数)。此外,如果您的项目是可单击的,则您可以在布局中创建一个空的
视图
,该视图的宽度和高度均使用
匹配父视图
,并为该视图提供背景。