Подтвердить что ты не робот

Как установить цвет рамки флажка

Граница флажка невидима на белом фоне.

enter image description here

Я играл с разными цветовыми параметрами без успеха. Мне нужна черная рамка. Да, есть примеры, чтобы сделать пользовательский флажок. Во всех доступных примерах нормальная коробка видна внутри новой формы. И растягиваемая форма узкая без текста в android: text = ""

enter image description here

Но почему флажок не выглядит нормально в обычном xml:

            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                      android:id="@+id/layoutBottom1"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:orientation="horizontal"
                      android:background="#FFFFFF"
                      android:gravity="center"
                >
            <CheckBox
                    android:id="@+id/checkBottom1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="AAAA"
                    android:visibility="visible"
                    android:textColor="#000000"
                    android:checked="true"
                    />

        </LinearLayout>

Любые идеи? Спасибо!

4b9b3361

Ответ 1

Вы можете использовать свойство

android:buttonTint="what you want", чтобы установить цвет рамки флажка.

Ответ 2

Слишком поздно, чтобы ответить, но я хотел бы поделиться тем, что сработало для меня. Вставьте под кодом. Он изменит цвет границы CheckBox и textColor

styles.xml

<style name="MyCheckBox" parent="Theme.AppCompat.NoActionBar">
    <item name="colorControlNormal">#000</item>   <!-- normal border color change as you wish -->
    <item name="colorControlActivated">#000</item> <!-- activated color change as you wish -->
    <item name="android:textColor">#FFFF3F3C</item> <!-- checkbox text color -->
</style>

теперь в main_activity.xml месте ниже CheckBox code

<CheckBox android:id="@+id/check_agree"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_margin="10dp"
          android:text="I agree"
          android:theme="@style/MyCheckBox"/>   <!-- here apply your checkbox style -->

Если выше стиль не работает, замените родительскую тему parent="Theme.AppCompat.NoActionBar" на parent="Theme.AppCompat.Light". Надеюсь, что это сработает.

Ответ 3

Пробовали ли вы здесь, здесь и здесь?
И в соответствии с ответом на ваш вопрос

But why checkbox does not look okay in usual xml

Это потому, что иногда графическое представление Android не может отображать пользовательские представления, в этом случае вам нужно запустить код на эмуляторе или устройстве, чтобы проверить его.

UPDATE Если вы не хотите использовать чертежи, вы также можете определить форму, которая может быть выгружена в xml, например

 <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >

        <solid android:color="#ffffff" >
        </solid>

        <stroke
            android:width="2dp"
            android:color="#ff0000" >
        </stroke>
<corners android:radius="5dp" />

    <padding
        android:bottom="4dp"
        android:left="4dp"
        android:right="4dp"
        android:top="4dp" />
    </shape>