質問: androidのアプリを作っていて、color.xmlを作りそこに16進のカラーコードで好きな色を定義しました。 それらをテキスト等の色に設定したのですが、アプリ起動時には全て黒ないしはグレーになってしまいます。 元からあるColor.BLUEなどを入れると正常に青く表示されます。 RGBをべた打ちする方法もありますが、それだといちいち面倒くさくて出来ません。 元からある色以外を使う正しい方法はありますでしょうか。 EclipseでAndroid6.0を対象としています。 デバイスはXperia Z3 Tablet Compactです。
回答: 可能であれば実装しようとしているコードを提示されるとより良い回答が得られるかもしれません。 レイアウトファイル上で設定したいのであれば、以下のように指定することで可能です。 ``` ``` プログラム上で設定したいのであれば、以下で指定することが可能です。 ``` int colorValue = getResources().getColor(R.color.*1); textView.setTextColor(colorValue); ``` *1 color.xmlで定義されたリソース名 追記 API Level 23ではgetColor(int)は非推奨メソッドとなっていました。 APIリファレンスにはgetColor(int, Resources.Theme)を使用するように記載されています。 そのため、API Level 23以降で使用される場合は、getColor(int, Resources.Theme)を使用したほうが良いようです。 Resources.ThemeはActivityが継承しているContextThemeWrapperにgetTheme()というAPIがありました。 ``` int colorValue = -1; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { colorValue = getResources().getColor(R.color.*1, getTheme()); }else { colorValue = getResources().getColor(R.color.*1); } textView.setTextColor(colorValue); ```