私の目標は、実行時にプログラムで色を変更することshape
です。HEXコードの文字列があり、それを解析してsetColorメソッドに渡しました。アプリケーションを実行するたびに、予想とは異なる色が表示されます。layer-list
shape
Color.parseColor()
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
と、黒または茶色になり、まったく異なる色になります. ありがとう