color.xmlに指定した色をプログラムから指定する。【AndroidStudio】
今日はせこせこコーディングしていたので、あっさり(ザックリ)したものを。
プログラム上で、TextViewなどに背景色を指定しようとした場合、
すごく単純に書くと、想像通りの色にはならない。
((TextView)textView).setBackgroundColor(R.color.red);
※R.color.XXXの型も、setBackgroundColorの指定もintなのでエラーは発生しない
しかし、R.color.XXX は保有している定義のIDを取得するので色(Color)に紐づいた色の値(int)ではない。
そのため、Resourcesクラスで用意されているgetColorメソッドを使用して
R.color.XXXにて記載している値(16進数の色標記)をColorに紐づく値へ変更する必要がある。
((TextView)textView).setBackgroundColor(resources.getColor(R.color.red));
説明されれば、そりゃ正しく色とれないのは理解できますが
初心者にはこんな単純なことでも頭を悩ませてしまう…
リソースがらみの部分含め、基本的な部分がまだまだ理解できていないので
どこかでまとめて時間作って勉強したい。
(なにを学べば基本的な概念を理解できるのか、まずそこを知りたい。)
以上、本日の記録。
コメント
コメントを投稿