ボタンの背景に設定してある画像を動的に変更する方法
ボタンの背景に設定してある画像を動的に変更する方法のメモ。
<ハマった点>
setBackgroundDrawable(Drawable d)で背景画像を変更出来るのは
分かっていたが、Drawableの取得方法が分からなかった。
setBackgroundDrawable((Drawable)findViewById(R.drawable.xxx))って
やってみたが、ViewはDrawableにキャスト出来ませんって怒られたorz
findDrawable〜っていうメソッドないかな〜と思ったけど、
そんなものはなかったorz
<解決策>
Drawableを取得するためのgetDrawable()というものがあるらしい。
それで、これを使うためにはgetResources()でリソースを取得する必要がある。
リソースってなんじゃらほい??
そんな訳で、以下のようにすると良い。
// 背景画像を変更したいボタンを取得する
Button button = (Button)findViewById(R.id.xxx);
// 背景画像を変更する
button.setBackgroundDrawable(getResources().getDrawable(R.drawable.xxx));