スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android Colorを16進数で指定する方法

Androidでは、Javaコード中にColorを指定する場合
Color.argb(alh, R, G, B);
を利用して色を指定するのだが、これが面倒くさい。

第一引数は透明度をあらわし、残り3つの引数は色の度合いをあらわす。

つまり、赤にしたい時は
Color.argb(255, 255, 0, 0)

青の場合は
Color.argb(255, 0, 0, 255)

ちょっと薄い青なら
Color.argb(200, 0, 0, 255)

とか、いちいち色を表すための、対応する数字が必要になる。
そんな数字覚えていられんわ。


ということで、簡単に色を指定できるオリジナルメソッドを作成した。


まず、Webサービスを中心に今までやってきていたため、色を指定する場合はCSSなどよく利用しているため、
#FFFFFF
#000000
などの16進での指定になれている。


また、使いたい色を調べるために以下のサイトを参考にさせてもらっている。
http://www.cam.hi-ho.ne.jp/mendoxi/misc/colorchart.html


ということなので、色を16進で指定して、それをAndroidのColorに変換するメソッドを作った。


public static int Color(int alh, String color) {
try {
int R = Hex2ToInt(color.substring(0, 2));
int G = Hex2ToInt(color.substring(2, 4));
int B = Hex2ToInt(color.substring(4, 6));
return Color.argb(alh, R, G, B);
} catch (Exception ex) {
return 0;
}
}
public static int Hex2ToInt(String HEX) {
int Value = 0;
char HexDigit[] = HEX.toCharArray();
Value = (Character.digit(HexDigit[0], 16)) * 16 + (Character.digit(HexDigit[1], 16));
return Value;
}


ColorメソッドをCallして使用する。
第一引数に透明度をintで255までの数字で指定する。
第二引数に指定する色を16進で指定する(#はつけない)

Hex2ToIntは2桁の16進を変換しているメソッド


利用方法は以下のように使う
テキストを赤字にする

((TextView)v.findViewById(R.id.txt)).setTextColor(Color(255, "FF0000"));



これで自分の慣れ親しんだ16進で色を指定することができる。
スポンサーサイト

テーマ : android
ジャンル : コンピュータ

コメントの投稿

非公開コメント

承認待ちコメント

このコメントは管理者の承認待ちです
おすすめアプリ
カテゴリ
最新記事
リンク
アクセスカウンター
アクセス解析
imobile
i-mobile
i-mobile
i-mobile
i-mobile
i-mobile
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Amazon
Androidお勧め参考書
EC studio
商品
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。