我有一个shape
输入,我的目标是在运行时以编程layer-list
方式更改颜色。shape
我有十六进制代码的字符串,我曾经Color.parseColor()
解析它并传递给 setColor 方法。每当我运行应用程序时,它显示的颜色与我预期的不同。
这是我的 XML 文件代码:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/lvbg"
android:top="1dp">
<shape
android:id="@+id/listview_background"
android:shape="rectangle" >
<size
android:height="220dp"
android:width="600dp" >
</size>
<solid android:color="@android:color/black"></solid>
<corners android:radius="15dp" />
</shape>
</item>
</layer-list>
这是我的代码CustomAdapter
:
convertView = mInflater.inflate(R.layout.student_info_selection_fragment_icon, null);
holder = new ViewHolder();
holder.collegeBG=(LayerDrawable)convertView.getResources().getDrawable(R.drawable.rectangle);
holder.bg = (GradientDrawable)holder.collegeBG.findDrawableByLayerId(R.id.lvbg);
String color = "#FF" + rowItem.getCollegeColor();
holder.bg.setColor(Color.parseColor(color));
例如,当我放入时,#FF1D0A63
我得到黑色或棕色,完全不同的颜色。谢谢