4

各行に CheckedTextView が含まれる ListView があります。ドローアブルを使用するカスタム checkMark 属性を使用しています。

<CheckedTextView
    android:id="@+id/body"
    android:gravity="left"
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:layout_below="@+id/date"
    android:textSize="18sp"
    android:checkMark="@drawable/checkbox_selector"
/>

描画可能なcheckbox_selectorは、期待どおりに「オン」と「オフ」の選択を正しく処理し、次のようになります:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_selected="true" android:state_pressed="true"
        android:drawable="@drawable/checkbox_on" > 
    </item>
    <item android:state_pressed="true" android:drawable="@drawable/checkbox_on" />
    <item android:state_checked="true" android:drawable="@drawable/checkbox_on"/>
    <item android:drawable="@drawable/checkbox_off" />
</selector>

現在の ListView レイアウトのスクリーンショットを次に示します。

チェックマークが表示された ListView

ご覧のとおり、チェック ボックスは上揃えになっています。それを右中央にする方法はありますか?セレクター リソースの属性を確認すると、これを実行するための関連する属性が見つかりません。

その位置を調整する方法はありますか?お時間をいただきありがとうございます。

4

2 に答える 2

9

これを試して。

<CheckedTextView
    android:id="@+id/body"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:checkMark="@drawable/checkbox_selector"
    android:checked="false"
    android:clickable="true"
    android:focusable="true"
    android:gravity="center_vertical"
    android:onClick="toggle"
    android:text="Some text here"
    android:textSize="18sp" />
于 2014-04-28T06:04:20.117 に答える
1

「center_vertical」を追加してください。

android:gravity="center_vertical"

ref: http://developer.android.com/reference/android/widget/LinearLayout.html `

于 2014-04-28T06:08:02.790 に答える