2014-11-20 3 views
2

В основном то, что я хочу, чтобы это флажок со значком и текстом ниже на значок, что-то вроде этого:Android: Как выровнять текст CheckBox внизу?

------------------- 
| CheckBox Icon | 
|     | 
| CheckBox Text | 
|     | 
------------------- 

По умолчанию значок помещается в левой и текст в правой, оба они находятся на одном уровне. Ниже макете я использую:

<CheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Switch state" 
    android:button="@drawable/my_custom_selector" /> 

Любая идея о том, как я могу добиться, чтобы иметь значок на верхней и текст под значком ?. Заранее спасибо :)

+0

Можете ли вы опубликовать ваш XML из вашего макета? – IAmTheSquidward

+0

@IAmTheSquidward Пожалуйста, проверьте мое обновление;) – Androider

ответ

7

CheckedTextView + государственный список с проверенным и непроверенным вводимым коэффициентом:

<CheckedTextView 
    android:drawableTop="@drawable/checkmark" 
    android:checked="true" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Checked text"/> 

@ вытяжка/галочка

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/unchecked" android:state_checked="false"></item> 
<item android:drawable="@drawable/checked"></item></selector> 

(checkmark.xml упрощается).

-1

Вы можете сделать LinearLayout вертикальной и положите CheckBox (без текста) сверху, а текст в поле TextView ниже.

Наконец, сделайте LinearLayoutclickable и проверьте/снимите флажок программно.

0

Вышеуказанное решение не сработало для меня. Отсутствует код Kotlin/Java в нем.

Так что добавьте его в код Котлин

cb_twitter.setOnClickListener({ 
      (it as CheckedTextView).toggle() 
     }) 

Вот мой XML код:

<CheckedTextView 
    android:id="@+id/cb_twitter" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:checked="false" 
    android:drawableTop="@drawable/checkbox_selector_twitter" 
    android:gravity="center_horizontal" 
    android:text="@string/Twitter" 
    android:textAlignment="gravity"/> 

Здесь я также текст центра по

android:gravity="center_horizontal" 
android:textAlignment="gravity" 
Смежные вопросы