Флажок для рисования с дополнительным drawableLeft перекрывая друг друга

При использовании флажка с дополнительным элементом drawable (помимо того, который используется для флажка) с использованием drawableLeft, два объекта drawable перекрывают друг друга.

В настройках флажка нет ничего особенного:

<CheckBox android:id="@+id/low_priority_checkbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/low_priority"
    android:textColor="@color/primary_text"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:drawableLeft="@drawable/ic_primary_priority_flag_low_medium"/>

Фактический результат:

Ожидаемый результат:

Эта проблема возникает с compileSdkVersion 22 на устройствах с API <= 16

Кстати, использование drawableRight работает как надо.

Это ошибка в структуре? Любое решение?

1 ответ

Добавьте стиль (style="@android:style/Widget.Holo.Light.CompoundButton.CheckBox") для флажка, который может перемещать чертеж в правильное положение. Единственная проблема заключается в том, что расстояние между отображаемым текстом и текстом больше, чем в обычном случае для устройств с API <= 16.

Один из моих CheckBox xml указан ниже:

            <CheckBox
                android:id="@+id/male_toilet_checkbox"
                style="@android:style/Widget.Holo.Light.CompoundButton.CheckBox"
                android:layout_width="wrap_content"
                android:layout_height="28dp"
                android:drawableLeft="@drawable/m"
                android:drawableStart="@drawable/m"
                android:text="@string/male_toilet"
                android:textSize="14sp"
                android:textColor="#ff6c51ff"
                app:layout_constraintTop_toBottomOf="@+id/split_line1" />

Другие вопросы по тегам