Tom*_*ala 0 android listview drawable listactivity
我有一个自定义可绘制资源来在ListView中显示我的项目,实际上是两个,因为我希望我的结果具有交替的背景颜色,但两者都通过更改颜色来响应点击.问题是甚至在通过布局XML将这些drawable中的一个分配给我的LinearLayout容器时,它工作正常,但是通过Java代码它没有.所以确切地说,这有效:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/result_white"
android:id="@+id/result"
>
Run Code Online (Sandbox Code Playgroud)
但是这(在我的ResultAdapter中扩展了ArrayAdapter)不会:
LinearLayout result = (LinearLayout) v.findViewById(R.id.result);
result.setBackgroundColor(R.drawable.result_white);
Run Code Online (Sandbox Code Playgroud)
我的最终目标当然是为结果交替使用'result_white'和'result_ltgray'drawables,因此第一个XML解决方案并不能真正满足我的需求.我在Java代码中缺少什么?
好吧,假设你只使用单色背景,你应该使用Colors,因为drawables可以是形状,渐变等等.现在,要实际使用颜色,您的代码将类似于:
result.setBackgroundColor(mContext.getResources.getColor(R.color.result_white));
Run Code Online (Sandbox Code Playgroud)
其中mContext是上下文,并且res / values/colors.xml文件中有一个颜色(例如0xFFFFFFFF).
在按下/选择/等时,还可以查看颜色状态列表以更改颜色
| 归档时间: |
|
| 查看次数: |
6192 次 |
| 最近记录: |