2014-04-28 1 views
3

У меня есть ListView, в котором каждая строка содержит CheckedTextView. Я использую атрибут пользовательского галочка, которая использует вытяжке:Настройка пользовательской позиции CheckMark в CheckedTextView

<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 with checkMark visible

Как вы можете видеть, флажок в верхнем выровнен. Есть ли способ правоцентрировать его? Проверяя атрибуты ресурса селектора, я не могу найти никаких соответствующих атрибутов для выполнения этого.

Есть ли способ изменить положение? Спасибо за ваше время.

ответ

8

Попробуйте это.

<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" /> 
+0

Спасибо, Dhwanik. center_vertical - именно то, что мне нужно. – Heelara

+0

ваше приветствие :) если вы нашли этот ответ полезным, вы можете принять –