2012-05-08 31 views
5

XMLでは、私たちはこの方法を使用してdrawableLeftを設定することができます。プログラムでdrawableLeftを設定することはできますか?

<Button 
    android:id="@+id/previewBtn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/white_btn" 
    android:drawableLeft="@drawable/green_circle" 
    android:drawablePadding="16dp" 
    android:text="Button" /> 

プログラムで同じことを行うには?

答えて

16

はい、setCompoundDrawablesWithIntrinsicBounds

を使用して、最初のパラメータのために他のすべてのために、次に0を描画可能を規定します。あなたの描画可能が同様のコードで作成された場合、あなたは4つのドローアブルをとり、他のsetCompoundDrawablesWithIntrinsicBoundsメソッドを使用する必要が

Button b = findViewById(R.id.myButton); 

b.setCompoundDrawablesWithIntrinsicBounds(R.drawable.myDrawable, 0, 0, 0); 

、およびすべてが左にnullを渡します。

のコードは次のようになります。 。

2

使用方法はsetCompoundDrawablesWithIntrinsicBoundsです。このメソッドは、4つの描画可能オプション(左、上、右、下)をすべて取ります。左だけの場合は、他の場合はnullを渡します。

+0

もし私がセンターに入れたいなら – user3154663

関連する問題