そのような要素のリストをプログラムで作成します(ListViewではなく、親に追加するだけです):
<LinearLayout Android:layout_width="wrap_content" Android:layout_height="wrap_content"
Android:orientation="vertical" Android:layout_weight="1">
<TextView Android:id="@+id/filiale_name"
Android:layout_width="fill_parent" Android:layout_height="wrap_content"/>
<TextView Android:id="@+id/lagerstand_text"
Android:layout_width="fill_parent" Android:layout_height="wrap_content"
Android:textSize="10sp" Android:textColor="@color/red"/>
</LinearLayout>
また、values/colors.xmlでいくつかの色を定義しました。ご覧のとおり、「lagerstand_text」というIDを持つTextViewは、デフォルトで色を赤に設定しています。動作します。
Javaで要素を作成するとき、私は
lagerstandText.setText("bla");
いくつかの要素についても
lagerstandText.setTextColor(R.color.red);
および他の色。 setTextColor()を呼び出さない要素は赤ですが、他のすべての要素は灰色です。選択した色に関係なく(同じ赤であっても)。
何故ですか?
ドキュメントはこれについてあまり冗長ではありませんが、setTextColor
を呼び出すときにR.color整数だけを使用することはできません。色を適切に設定するには、getResources().getColor(R.color.YOURCOLOR)
を呼び出す必要があります。
以下を使用して、プログラムでテキストの色を設定します。
textView.setTextColor(getResources().getColor(R.color.YOURCOLOR));
サポートライブラリ23以降では、getColorが非推奨になっているため、次のコードを使用する必要があります。
textView.setTextColor(ContextCompat.getColor(context, R.color.YOURCOLOR));
そのため、このタスクを達成する方法はたくさんあります。
1。
int color = Integer.parseInt("bdbdbd", 16)+0xFF000000;
textview.setTextColor(color);
2。
textView.setTextColor(getResources().getColor(R.color.some_color));
。
textView.setTextColor(0xffbdbdbd);
4。
textView.setTextColor(Color.parseColor("#bdbdbd"));
5。
textView.setTextColor(Color.argb(a_int, r_int, g_int, b_int));
1.標準色は以下をお選びください。
textview.setTextColor(Color.select_color)
2.ここでcustwomカラーを使用したい場合は、color.xmlファイルに追加します
textview.setTextColor(getResources().getColor(R.color.textbody));
または
textView.setTextColor(Color.parseColor("#000000"));
または
subText.setTextColor(Color.rgb(255,192,0));
将来の参照のために、次を使用できます。
String color = getString(Integer.parseInt(String.valueOf(R.color.my_color)));
my_textView.setTextColor(Color.parseColor(color));
これにより、カラーリソースを利用できます。
R
クラスで定義された特定の色(xmlレイアウトで定義)の整数IDは、View
クラスのsetTextColor()
メソッドにパラメーターとして渡すことはできません。次のコード行でsetTextColor()
のパラメーターを取得する必要があります。
_int para=getResources().getColor(R.color.your_color,null);
view.setTextColor(para,null);
_
メソッドgetColor(int id)
は減価償却されました...代わりに上記のコード行のようにgetColor(int id,Resources.Theme theme)
を使用してください。
_The `second parameter( theme )` can be null
_