2011-09-11 10 views
12

ボタンをクリックした後、私のボタンの右側にイメージを設定しようとしています。私はコードでこれをやりたいdrawableRightリソースをコードで設定するにはどうすればよいですか?

コードでバックグラウンドリソースを変更する方法を見てきましたが、コードを使ってサイドを変更する方法を示す例は見つかりません。出来ますか?

+0

サイド変更はどういう意味ですか?ボタンをクリックする前にボタンの左側に画像がありますか? –

+0

これは右側にあり、赤い点です。クリックすると緑に変えたいErdalで指摘したように... –

+4

setCompoundDrawablesWithIntrinsicBounds 関連する質問(これはトグルボタンです)私はこれでこれを行うことができました:\t \t \t \t button_drill.setCompoundDrawablesWithIntrinsicBounds(0、0、R.drawable.ic_button_green、0); Drawablesを使用してリソースをDrawableに変える必要がありますか? – Erdal

答えて

29

あなたは必要とされない任意のためのヌルと

public void setCompoundDrawables (Drawable left, Drawable top, Drawable right, 
Drawable bottom) 

メソッドを使用する必要があります。

+0

: – eyespyus

+6

http://stackoverflow.com/questions/4250923/how-to-change-a-buttons-icon-programmatically –

+7

ほとんどの場合、 'setCompoundDrawablesWithIntrinsicBounds'を使用します。他のメソッドでは、Drawable上で 'setBounds'をパラメータとして渡す前に' setBounds'を呼び出さなければなりません。さもなければ、それらは正しくレンダリングされません(全く表示されません) – janos

7

通常、あなたがボタンのテキストを欠場することができます注意してください。この

Drawable draw = getResources().getDrawable(R.drawable.facebook); 
myButton.setCompoundDrawablesWithIntrinsicBounds(null, null, draw, null); 

を使用して変更することができます。

関連する問題