30

チェックボックス

上の画像でわかるように。このスクリーンショットには 3 つのビューがあります。
- 最初のアイテムはCheckBoxテキスト付きで、状態がオフになっています。
- 2 番目のアイテムはCheckBox、テキストがなく、状態がオンになっています。
- 最後の項目はImageView、ドローアブル イメージを指す src です。

CheckBoxes は を使用してカスタマイズされandroid:buttonました。

小さなチェックボックス

小さい画像を使用してみましたが、すべてのチェックボックスが左揃えになっています。

これら 2 つの画像を比較すると、CheckBoxtext 属性が十分に大きくなり拡張が必要になるまで、 のデフォルト サイズが特定のサイズに固定されているように見えることがわかります。

ファイルにも特別なものはありません。以下を参照してください。

custom_cb.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/creditcard_selected" android:state_checked="true" />
    <item android:drawable="@drawable/creditcard"/>

</selector>

レイアウト.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <CheckBox android:id="@+id/cbFalse"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:button="@drawable/custom_cb"
              android:text="" />
    <CheckBox android:id="@+id/cbTrue"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:button="@drawable/custom_cb"
              android:focusable="false"
              android:checked="true"
              android:layout_toRightOf="@id/cbFalse" />
    <ImageView android:id="@+id/imvTrue"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:src="@drawable/creditcard"
              android:layout_toRightOf="@id/cbTrue" />
</RelativeLayout>

サイズを維持しながら、CheckBoxに大きな画像を使用できる方法はありますwrap_contentか? CheckBoxlayout_widthを実際のピクセルまたは dp に設定すると、画像全体が表示されますが、サイズが変更されるたびにサイズを手動で確認する必要があります。

4

6 に答える 6

62

今日、私は同じ問題を抱えていました (私のカスタム画像は左側でカットされていました)。私はそれを入れて修正しました:

android:button="@null"
android:background="@drawable/my_custom_checkbox_state.xml"
于 2013-07-26T08:02:48.627 に答える
15

使うだけ

android:button="@null"
android:background="@null"
android:drawableLeft="your custom selector"
android:drawablePadding="as you need"
android:text="your text"

それだけです..正常に動作しています..

于 2013-11-08T14:45:02.793 に答える