5

こんにちは、チェックマーク画像の前後にスペースがある下の画像のように見えるチェックボックスリストを作成しようとしています。

ここに画像の説明を入力

しかし、チェックボックスを作成しようとすると、下の画像のように表示されます。

ここに画像の説明を入力

最初の画像を表示しているように、チェックマークの画像を囲むスペースはありません。パディングを使用してボックスコンポーネントをチェックすると、「android:padding=50dp」のように、チェックマークの画像とテキストの間にスペースができます。しかし、チェックマーク画像の前に開始.ieにスペースを与えていません。以下はチェックボックスの私のxmlレイアウトです

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="15dp">
<CheckBox android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:button="@drawable/btn_check_square"
       android:background="@drawable/filter_item_background"
       android:textColor="@android:color/black"
       android:padding="5dp"
       android:text="check box text"/>
</LinearLayout>

この問題を解決するための助けをいただければ幸いです。

4

5 に答える 5

30

これは以下のコードで解決されます。

<CheckBox
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/filter_item_background"
android:button="@android:color/transparent"                             //Make button null
android:drawableLeft="@drawable/btn_check_square"  //Create button in drawable
android:drawablePadding="20dp"                     //Set space between Text & CB     
android:padding="5dp"
android:text="check box text"
android:textColor="@android:color/black" />
于 2013-01-31T06:54:29.047 に答える
15

これを試してください(カスタムグラフィックなし):

<CheckBox
    android:id="@+id/checkBox1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawableLeft="@android:color/transparent"
    android:drawablePadding="8dp"
    android:text="CheckBox" />

ちょっとしたトリックを使用します。Checkbox は Button から派生しているため、ドローアブルを追加して、ラベルとドローアブルの間にパディングを設定できます。実際のアイコンは実際には必要ないため、代わりに透明色を使用します。

于 2013-01-30T07:20:40.610 に答える
2
<CheckBox
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/filter_item_background"
    android:button="@null"                             //Make button null
    android:drawableLeft="@drawable/btn_check_square"  //Create button in drawable
    android:drawablePadding="20dp"                     //Set space between Text & CB     
    android:padding="5dp"
    android:text="check box text"
    android:textColor="@android:color/black" />
于 2013-01-30T07:25:02.423 に答える
1

以下のコードを使用してください

final float scale = this.getResources().getDisplayMetrics().density;
checkbox.setPadding(checkbox.getPaddingLeft()
        + (int) (10.0f * scale + 0.5f),
        checkbox.getPaddingTop(),
        checkbox.getPaddingRight(),
        checkbox.getPaddingBottom());
于 2013-01-30T06:37:55.930 に答える
0

これをチェックボックスに追加します。

android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
于 2013-01-30T06:42:30.390 に答える