Флажок с многострочным текстом - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу выровнять checkbox вверху с двухстрочным текстом.Я хочу Флажок и текст в одной строке вверху

Примечание: я пробовал android:gravity="top", но получаю дополнительный отступ внутри текста флажка.

Я пытался: Как выровнять CheckBox вверху его описания в Android , но это не сработало.

Я пытался:

<CheckBox
     android:id="@+id/chkConfirmSymbol"
     android:layout_width="0dp"
     android:layout_height="wrap_content"
     android:layout_marginLeft="@dimen/margin_10"
     android:layout_weight="1"
     android:button="@drawable/selector_checkbox_black"
     android:enabled="false"
     android:gravity="top"
     android:paddingTop="0dp"
     android:paddingLeft="@dimen/margin_10"
     android:text="@string/at_least_1_symbol"
     android:textColor="@drawable/selector_checkbox_text_black"
     android:textSize="@dimen/font_11" />

Вывод:

enter image description here

В соответствии с изображением выше я получаю некоторые отступы в тексте.

Любая помощь будет оценена.Спасибо!

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018

Вы можете найти файл рисования по умолчанию, используемый для флажка, в sdk > platforms > API_VERSION > data > res > drawable

Если вы отметите любое из изображений ресурсов, используемых с рисованием по умолчанию, например, btn_check_off, используемых в этом рисовании, вы можете увидеть, что изображение по умолчанию имеет некоторый отступ по умолчанию в самом изображении.И пользовательское изображение, которое вы используете, отсутствует.Добавьте заполнение по умолчанию для вашего ресурса изображения, и оно должно работать нормально.

См. Изображение ниже для справки.enter image description here

0 голосов
/ 29 ноября 2018

Я только что справился с этим, дав немного android:paddingTop, вы также можете попытаться сделать это таким же образом.

Код XML (для макета):

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

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <CheckBox
        android:id="@+id/cb_confirm"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:enabled="false"
        android:paddingTop="5dp"
        android:paddingStart="10dp"
        android:paddingEnd="0dp"
        android:text="@string/at_least_1_symbol"
        android:textColor="@android:color/background_dark"
        android:textSize="12sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent" />

</android.support.constraint.ConstraintLayout>

Снимок экрана:

enter image description here

Надеюсь, это поможет вам.

0 голосов
/ 28 ноября 2018

Разве вы не можете сделать это простым способом?зачем вам нужны android:layout_width="0dp" и android:layout_weight="1"?

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="top"
    android:text="At least 1 symbol(!@#$%^&*)"
    android:textSize="20sp" />

Или вы можете посмотреть этот ответ. он должен вам помочь.

...