我有ListView
个自定义行。它们在ArrayAdapter
方法中的getView()
中设置了不同的背景颜色:
row.setBackgroundColor(R.color.list_bg);
设置颜色后,我忽略了一个轻拍行的高亮颜色/动画。 如果我在背景中添加一些透明度,我可以看到高光和动画,但这不是我想要解决的问题。
是否有可能以某种方式设置"突出显示颜色"?
答案 0 :(得分:1)
您可以通过使用颜色或图像创建可绘制的行来设置自定义背景。比如在res/drawable/
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/colorPressEffect"/>
</shape>
</item>
<item android:state_pressed="false">
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
</shape>
</item>
</selector>
并将此drawable设置为行布局父layout.like
的背景 <LinearLayout
...
...
android:background="@drawable/background"
>
你可以通过这种方式在点击上实现任何动画,你投入的精力越多,你点击的次数就越多。