Android Colorの指定方法いろいろ

2019年9月1日

Viewの背景色をいろんな方法で変更してみる

XML内でcolorリソースにアクセスする

res/values/colors.xml のcolor要素に指定したリソース名を
@color/[リソース名] と記載してアクセスする

<resources>
    <color name="color_ex_a_color_1">#FBA</color>
</resources>
<View
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:background="@color/color_ex_a_color_1" />

 

XML内でcolorを直接指定する

指定方法は ARGB で指定ができて、最低三桁で表現できる

例:
#AA0077BB
#0077BB
#A07B
#07B

<View
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:background="#8800EE44" />

 

コードでColorクラスの定数を使う

View v = findViewById(R.id.view_id);
v.setBackgroundColor(Color.CYAN);

 

コードでparseColorの文字列指定をする

v.setBackgroundColor(Color.parseColor("olive"));

どんな色が使えるかみてみると
聞いたことない色もあって試したくなった。

javadocにあった使える色

The following names are also accepted:
red, blue, green, black, white, gray, cyan, magenta, yellow,
lightgray, darkgray, grey, lightgrey, darkgrey, aqua,
fuchsia, lime, maroon, navy, olive, purple, silver, and teal.

 

コードでparseColorを利用してARGBを指定する

v.setBackgroundColor(Color.parseColor("#CABCAB"));

 

コードでColorクラスのargbを利用する

v.setBackgroundColor(Color.argb(200, 150, 100, 50));

 

コードでcolorリソースを取得する

<resources>
    <color name="color_ex_a_color_2">#DAF001</color>
</resources>

v.setBackgroundColor(getColor(R.color.color_ex_a_color_2));

開発日記

Posted by konp