Como altero a CheckBox
cor padrão no Android?
Por padrão, a CheckBox
cor é verde e desejo alterar essa cor.
Se não for possível, diga-me como fazer um costume CheckBox
?
247
Como altero a CheckBox
cor padrão no Android?
Por padrão, a CheckBox
cor é verde e desejo alterar essa cor.
Se não for possível, diga-me como fazer um costume CheckBox
?
android:buttonTint="@color/mybrown"
é uma maneira fácil de alterar a cor da caixa.app:buttonTint="@color/mybrown"
em vez disso, desta forma ele pode trabalhar em API <21Respostas:
Se você
minSdkVersion
tem mais de 21 anos, use oandroid:buttonTint
atributo para atualizar a cor de uma caixa de seleção:Em projetos que usam a biblioteca AppCompat e suportam versões do Android abaixo de 21, você pode usar uma versão compatível do
buttonTint
atributo:Nesse caso, se você deseja subclassificar a
CheckBox
, não se esqueça de usarAppCompatCheckBox
.RESPOSTA ANTERIOR:
Você pode alterar
CheckBox
s desenháveis usando oandroid:button="@drawable/your_check_drawable"
atributofonte
contentControl
opções agora: materialdoc.com/components/selection-controlsVocê pode alterar a cor diretamente no XML. Use
buttonTint
para a caixa: (a partir do nível 23 da API)Você também pode fazer isso usando
appCompatCheckbox v7
os níveis de API mais antigos:fonte
você pode definir o tema android da caixa de seleção para obter a cor desejada em seu styles.xml, adicione:
então no seu arquivo de layout:
ao contrário do uso
android:buttonTint="@color/CHECK_COLOR"
desse método, funciona na API 23fonte
Versão programática:
fonte
Use
buttonTint
para alterar a cor do botão e do seletor de cores para a versão acima de 21+ API.res / colors / checkbox_filter_tint.xml
fonte
values
recurso. Conforme indicado pelo caminho mostrado acima, ele deve estar dentro dacolors
pasta de recursos.Eu sugeriria que ele usasse a abordagem de estilo no android como a maneira de configurar as visualizações internas do android, adicione um novo estilo ao seu projeto:
e adicione atribuir esse estilo ao tema da caixa de seleção: android: theme = "@ style / youStyle"
espero que isto ajude.
fonte
fonte
Adicione esta linha ao seu
styles.xml
arquivo:fonte
buttonTint trabalhou para mim tentar
android: buttonTint = "@ color / white"
fonte
Me enfrentou o mesmo problema, consegui uma solução usando abaixo technic. Copie o
btn_check.xml
deandroid-sdk/platforms/android-#(version)/data/res/drawable
para a pasta de desenho do seu projeto e altere os estados da imagem 'on' e 'off' para as imagens personalizadas.Então seu xml precisará apenas
android:button="@drawable/btn_check"
Se você quiser usar diferentes ícones padrão do Android, poderá usar:
fonte
Você pode alterar a
checkbox
cor usando uma linha de código simplesandroid:buttonTint="@color/app_color" //whatever color
fonte
Abordagem 100% robusta.
No meu caso, não tive acesso ao arquivo de origem do layout XML, pois recebo o Checkbox de uma lib MaterialDialog de terceiros. Então eu tenho que resolver isso programaticamente.
res / color / checkbox_tinit_dark_theme.xml:
Em seguida, aplique-o na caixa de seleção:
PS Além disso, se alguém estiver interessado, veja como você pode obter sua caixa de seleção na caixa de diálogo MaterialDialog (se você a definir
.checkBoxPromptRes(...)
):Espero que isto ajude.
fonte
crie um xml
Drawable resource file
abaixores->drawable
e nomeie-o, por exemplo,checkbox_custom_01.xml
Carregue seus arquivos de imagem personalizados da caixa de seleção (eu recomendo png) para o seu
res->drawable
pasta.Em seguida, vá no seu arquivo de layout e altere sua caixa de seleção para
você pode personalizar qualquer coisa, desde que
android:button
aponte para o arquivo XML correto criado anteriormente.OBSERVAÇÃO PARA NEWBIES: embora não seja obrigatório, é uma boa prática nomear sua caixa de seleção com um ID exclusivo em toda a árvore de layout.
fonte
Olá, este é o código do tema para o Tema escuro e o Tema claro.
Se você deseja alterar a cor da caixa de seleção, o atributo "colorAccent" será usado para o estado verificado e "android: textColorSecondary" será usado para desmarcar o estado.
"actionOverflowButtonStyle" será usado para alterar a cor do ícone de estouro na barra de ação.
O atributo "buttonsearch_picture" será usado para alterar a cor da tonalidade do Botão de Ação na Barra de Ação. Esse é o Atributo personalizado no style.xml
O mesmo é para o botão de atualização que eu estou usando no meu aplicativo.
O atributo "android: popupMenuStyle" está usando para obter o estilo do menu pop-up do tema Light no tema Escuro.
E esse é o código da barra de ferramentas que estou usando no meu aplicativo Rocks Player.
Temas:-
fonte
você pode criar seu próprio xml no drawable e usá-lo como android: background = "@ drawable / your_xml"
em que você pode dar tudo no canto da borda
fonte
Você pode usar as duas propriedades a seguir em "colors.xml"
colorControlNormal é para a exibição normal da caixa de seleção e colorControlActivated é para quando a caixa de seleção está marcada.
fonte
Você pode alterar a cor do plano de fundo
<CheckBox>
incorporando-a dentro de a<LinearLayout>
. Em seguida, altere a cor de fundo<LinearLayout>
para a cor desejada.fonte
Você deve tentar o código abaixo. Está funcionando para mim.
e CheckBox
fonte
Se você estiver usando os ícones do Android, conforme descrito acima ..
.. é uma boa opção, mas, para que isso funcione - achei que você precisava adicionar lógica de alternância para mostrar / ocultar a marca de seleção, assim:
fonte
A maioria das respostas passa pelo arquivo xml. Se você encontrar uma resposta ativa para a maioria das versões do Android e tiver apenas uma cor para os dois status Marque a opção Desmarcar: eis a minha solução:
Kotlin:
Java:
fonte
Há uma maneira muito mais fácil de definir cores programaticamente. Use o método abaixo, Checkbox.setButtonTintList (ColorStateList.valueOf (getContext (). GetColor (R.color.yourcolor)))
fonte
Você pode usar as linhas de código abaixo para alterar o plano de fundo da caixa de seleção dinamicamente no seu código java.
Esta resposta foi deste site . Você também pode usar este site para converter sua cor RGB no valor hexadecimal, é necessário alimentar o parseColor
fonte