У меня есть shape
в layer-list
, и моя цель — программно изменить цвет shape
во время выполнения. У меня есть String для HEX-кода, и я использовал 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
, я получаю черный или коричневый, совершенно разные цвета. Спасибо
rowItem.getCollegeColor()
? - person Ken Wolf   schedule 06.06.2013232323
,1D0A63
,000000
- person Gokhan Arik   schedule 06.06.2013color
, нет проблем, я получаю ожидаемые результаты HEX.#FF232323
#FF1D0A63
#FF000000
и многое другое. Я предполагаю, что проблема заключается в достижении элемента «форма» в списке слоев. Я не уверен, правильно ли я достигаю «формы» - person Gokhan Arik   schedule 06.06.2013