6

XML では、次の方法で 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" />

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

4

2 に答える 2

19

はい、setCompoundDrawablesWithIntrinsicBoundsを使用します

最初のパラメータにドローアブルを定義し、次に他のすべてのパラメータに0を定義します。

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

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

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

ドローアブルもコードで作成されている場合は、4つのドローアブルを取得する他のsetCompoundDrawablesWithIntrinsicBoundsメソッドを使用し、左側を除くすべてにnullを渡す必要があります。

于 2012-05-08T20:49:14.223 に答える
2

使用するメソッドはsetCompoundDrawablesWithIntrinsicBoundsです。このメソッドは、描画可能な 4 つのオプション (左、上、右、下) をすべて使用するため、左のみが必要な場合はnull、他のオプションを渡します。

于 2012-05-08T20:50:22.883 に答える