Я хочу изменить цвет круга RadioButton в одном из моих проектов , я не мог понять, какое свойство установить. Цвет фона у меня черный, поэтому он становится невидимым. Я хочу установить цвет круга на белый.
android
android-radiobutton
Амандип Сингх
источник
источник
Ответы:
Проще говоря, просто установите цвет buttonTint: (работает только на уровне API 21 или выше)
в ваших values / colors.xml поместите ваш цвет в этом случае красноватый:
Результат:
Если вы хотите сделать это с помощью кода (также API 21 и выше):
источник
control.getDrawable().setColorFilter(getResources().getColor(color), PorterDuff.Mode.SRC_IN);
гдеcontrol
элемент управления, для которого вы хотите изменить оттенок, иcolor
целочисленное значение цвета, который вы хотите, например,R.color.red
android.R.attr.state_checked
и добавить цвет.Обновление: 1. используйте вместо этого
2. Затем добавьте эту строку в родительский макет или
Alt + Enter
в Android Studio для автоматического добавленияxmlns:app="http://schemas.android.com/apk/res-auto"
Минимальный пример должен выглядеть так:
3. В вашей программе должен называться так.
AppCompatRadioButton radioButton = (AppCompatRadioButton) view.findViewById(R.id.rbtn_test);
В основном, этот тип шаблона может применяться для всех типов AppCompact, таких как AppCompatCheckBox, AppCompatButton и так далее.
Старый ответ:
Чтобы поддерживать ниже Android API 21, вы можете использовать AppCompatRadioButton. Затем используйте
setSupportButtonTintList
метод, чтобы изменить цвет. Это мой фрагмент кода для создания переключателя.Протестированный результат в API 19:
Смотрите ссылку на Android для более подробной информации.
источник
<android.support.v7.widget.AppCompatRadioButton ../>
setSupportButtonTintList
это частный метод, который вы не собираетесь использовать. Переключатели будут вести себя странно на некоторых версиях Android. Вместо этого используйтеCompoundButtonCompat.setButtonTintList(rb, colorStateList)
.источник
Работа над API до 21, а также после 21. В вашем
styles.xml
распоряжении:Ваш
radio button
в XML должен выглядеть так:Теперь все, что вам нужно сделать, это сделать
radiobutton_drawable.xml
в вашемdrawable folder
. Вот что вам нужно положить в него:Ваш
radio_unchecked.xml
:Ваш
radio_checked.xml
:Просто замените
@color/colorAccent
на цвет по вашему выбору.источник
Вы должны использовать этот код:
Использование
app:buttonTint
вместо,android:buttonTint
а такжеandroid.support.v7.widget.AppCompatRadioButton
вместоRadiobutton
!источник
Объявите собственный стиль в вашем файле styles.xml.
Примените этот стиль к вашему RadioButton через атрибут android: theme.
только если ваша деятельность расширяется
AppCompatActivity
источник
<item name="android:colorControlActivated">@color/pink</item>
это, чтобы работать на меня. Я до сих пор не уверен, почему. В противном случае это хороший ответ.Для по API 21
Создать собственный стиль RadioButton style.xml
В макете используйте тему:
Для API 21 и более
Просто используйте buttonTint
источник
Вопрос старый, но я думаю, что мой ответ поможет людям. Вы можете изменить цвет непроверенного и проверенного состояния переключателя, используя стиль в XML.
В style.xml
Вы можете установить желаемые цвета в этом стиле.
источник
Установите
buttonTint
свойство. Например,android:buttonTint="#99FF33"
.источник
Я сделал это коротко так (Работа над API до 21, а также после 21)
Ваша радио-кнопка в XML должна выглядеть так
в radiodraw.xml
Необходимо добавить прозрачный цвет для рисования непроверенного статуса, иначе он рисует сплошной черный овал.
источник
Иногда вам просто нужно переопределить colorControlNormal следующим образом:
И вы получите такую кнопку:
colorControlNormal используется для непроверенного состояния и colorAccent для проверенного.
источник
Для этого есть атрибут xml:
источник
"Make sure your min API is higher then 21 or this won't work"
это ложь Я ориентируюсь на API 17 с AndroidX, и это единственное, что сработало для меняДля тех, кто хочет изменить отключенные, проверенные и включенные состояния, вы можете выполнить следующие действия:
Затем в папке «res» создайте файл с именем «radio_button_color.xml»:
источник
Все кнопки будут менять цвет, круговое поле и центральный флажок.
источник
RadioButton по умолчанию принимает цвет colorAccent в файле res / values / colors.xml. Итак, перейдите в этот файл и измените значение
<color name="colorAccent">#3F51B5</color>
в цвет, который вы хотите.
источник
Самый простой способ - изменить
colourAccent
цвет,values->colours.xml
но имейте в виду, что это также изменит другие вещи, такие как редактирование цвета текстового курсора и т. Д.
< color name="colorAccent">#75aeff</color >
источник
Если вы хотите установить другой цвет для переключателя с нажатием и без щелчка, просто используйте:
источник
просто используйте
android:buttonTint="@color/colorPrimary"
атрибут на теге, надеюсь, это поможетисточник
У меня была эта проблема. Если ваше приложение имеет черный фон, и у вас есть много RadioButton, которые невидимы из-за фона, сложно отредактировать android: buttonTint каждого из них, лучшее решение - изменить родительскую тему в вашем файле styles.xml
Я изменился
в
Таким образом, круги RadioButtons стали более светлого оттенка серого, и теперь они видны даже на черном фоне.
Это мой файл style.xml:
источник
@ jh314 правильно. В AndroidManifest.xml,
В style.xml
имя элемента должно быть colorAccent, оно определяет цвет виджетов приложения по умолчанию.
Но если вы хотите изменить цвет в коде, возможно, @ aknay ответ правильный.
источник