Wie ändere ich die Standardfarbe CheckBox
in Android?
Standardmäßig ist die CheckBox
Farbe grün und ich möchte diese Farbe ändern.
Wenn es nicht möglich ist, sag mir bitte, wie man einen Brauch macht CheckBox
.
247
Wie ändere ich die Standardfarbe CheckBox
in Android?
Standardmäßig ist die CheckBox
Farbe grün und ich möchte diese Farbe ändern.
Wenn es nicht möglich ist, sag mir bitte, wie man einen Brauch macht CheckBox
.
android:buttonTint="@color/mybrown"
ist eine einfache Möglichkeit, die Farbe der Box zu ändern.app:buttonTint="@color/mybrown"
stattdessen zu verwenden , auf diese Weise kann es auf API <21Antworten:
Wenn Sie
minSdkVersion
mindestens 21 Jahre alt sind, verwenden Sie dasandroid:buttonTint
Attribut, um die Farbe eines Kontrollkästchens zu aktualisieren:In Projekten, die die AppCompat-Bibliothek verwenden und Android-Versionen unter 21 unterstützen, können Sie eine kompatible Version des
buttonTint
Attributs verwenden:In diesem Fall, wenn Sie eine Unterklasse a möchten,
CheckBox
vergessen Sie nicht, diese zu verwendenAppCompatCheckBox
stattdessen .VORHERIGE ANTWORT:
Sie können
CheckBox
s drawable mitandroid:button="@drawable/your_check_drawable"
attribute ändern .quelle
contentControl
jetzt folgende Optionen: materialdoc.com/components/selection-controlsSie können die Farbe direkt in XML ändern. Verwendung
buttonTint
für die Box: (ab API-Level 23)Sie können dies auch
appCompatCheckbox v7
für ältere API-Ebenen tun :quelle
Sie können das Android-Design des Kontrollkästchens festlegen, um die gewünschte Farbe in Ihrer styles.xml zu erhalten.
dann in Ihrer Layoutdatei:
Im Gegensatz zur Verwendung
android:buttonTint="@color/CHECK_COLOR"
dieser Methode funktioniert unter Api 23quelle
Programmatische Version:
quelle
Verwenden Sie
buttonTint
diese Option, um die Farbe der Schaltfläche und des Farbwählers für die API-Version über 21+ zu ändern.res / colours / checkbox_filter_tint.xml
quelle
values
Ressource deklariert ist . Wie aus dem oben gezeigten Pfad hervorgeht, muss er sich imcolors
Ressourcenordner befinden.Ich würde vorschlagen, den Stilansatz in Android als Methode zum Konfigurieren der integrierten Android-Ansichten zu verwenden und Ihrem Projekt einen neuen Stil hinzuzufügen:
und fügen Sie diesen Stil dem Thema des Kontrollkästchens zu: android: theme = "@ style / youStyle"
hoffe das hilft.
quelle
quelle
Fügen Sie diese Zeile in Ihre
styles.xml
Datei ein:quelle
buttonTint hat bei mir versucht
android: buttonTint = "@ color / white"
quelle
Ich hatte das gleiche Problem, ich habe eine Lösung mit der folgenden Technik gefunden. Kopieren Sie das
btn_check.xml
vonandroid-sdk/platforms/android-#(version)/data/res/drawable
in den Zeichenordner Ihres Projekts und ändern Sie die Bildzustände "Ein" und "Aus" in Ihre benutzerdefinierten Bilder.Dann braucht deine XML nur noch
android:button="@drawable/btn_check"
Wenn Sie verschiedene Standard-Android-Symbole verwenden möchten, können Sie Folgendes verwenden:
quelle
Sie können die
checkbox
Farbe mithilfe einer einzelnen Codezeile ändernandroid:buttonTint="@color/app_color" //whatever color
quelle
100% robuster Ansatz.
In meinem Fall hatte ich keinen Zugriff auf die XML-Layout-Quelldatei, da ich das Kontrollkästchen von einer MaterialDialog-Bibliothek eines Drittanbieters erhalte. Also muss ich das programmatisch lösen.
res / color / checkbox_tinit_dark_theme.xml:
Wenden Sie es dann auf das Kontrollkästchen an:
PS Wenn jemand interessiert ist, können Sie Ihr Kontrollkästchen im Dialogfeld "MaterialDialog" abrufen (sofern Sie dies mit festlegen
.checkBoxPromptRes(...)
):Hoffe das hilft.
quelle
Erstellen Sie eine XML-Datei
Drawable resource file
unterres->drawable
und benennen Sie sie beispielsweise.checkbox_custom_01.xml
Laden Sie Ihre benutzerdefinierten Kontrollkästchen-Bilddateien (ich empfehle PNG) auf Ihre
res->drawable
Ordner hoch.Gehen Sie dann in Ihre Layoutdatei und ändern Sie Ihr Kontrollkästchen in
Sie können alles anpassen, solange Sie
android:button
auf die richtige XML-Datei verweisen, die Sie zuvor erstellt haben.HINWEIS FÜR NEUHEITEN: Obwohl dies nicht obligatorisch ist, empfiehlt es sich, Ihr Kontrollkästchen im gesamten Layoutbaum mit einer eindeutigen ID zu versehen.
quelle
Hallo, dies ist der Themencode für Dark Theme und Light Theme.
Wenn Sie die Farbe des Kontrollkästchens ändern möchten, wird das Attribut "colorAccent" für den aktivierten Status und das Attribut "android: textColorSecondary" für das Deaktivieren des Status verwendet.
"actionOverflowButtonStyle" wird zum Ändern der Farbe des Überlaufsymbols in der Aktionsleiste verwendet.
Das Attribut "keysearch_picture" wird zum Ändern der Farbtonfarbe der Aktionsschaltfläche in der Aktionsleiste verwendet. Dies ist ein benutzerdefiniertes Attribut in style.xml
Gleiches gilt für die Schaltfläche "Aktualisieren", die ich in meiner App verwende.
Das Attribut "android: popupMenuStyle" wird verwendet, um den Popup-Menüstil des hellen Themas im dunklen Thema abzurufen.
Und dies ist der Symbolleistencode, den ich in meiner Rocks Player-App verwende.
Themen: -
quelle
Sie können Ihre eigene XML in Drawable erstellen und diese als Android verwenden: background = "@ drawable / your_xml"
dadurch kann man grenzecke alles geben
quelle
Sie können die folgenden zwei Eigenschaften in "colours.xml" verwenden.
colorControlNormal ist für die normale Ansicht des Kontrollkästchens und colorControlActivated für das Kontrollkästchen.
quelle
Sie können die Hintergrundfarbe von ändern,
<CheckBox>
indem Sie sie in a einbetten<LinearLayout>
. Ändern Sie dann die Hintergrundfarbe<LinearLayout>
in die gewünschte Farbe.quelle
Sie sollten unten Code versuchen. Es funktioniert für mich.
und CheckBox
quelle
Wenn Sie die Android-Symbole wie oben beschrieben verwenden möchten.
.. es ist eine nette Option, aber damit dies funktioniert - ich fand, dass Sie eine Umschaltlogik hinzufügen müssen, um das Häkchen wie folgt ein- / auszublenden:
quelle
Die meisten Antworten gehen durch die XML-Datei. Wenn Sie für die meisten Android-Versionen eine aktive Antwort finden und nur eine Farbe für die beiden Status haben, überprüfen Sie ein UnCheck: Hier ist meine Lösung:
Kotlin:
Java:
quelle
Es gibt eine viel einfachere Möglichkeit, die Farbe programmgesteuert einzustellen. Verwenden Sie die folgende Methode: Checkbox.setButtonTintList (ColorStateList.valueOf (getContext (). GetColor (R.color.yourcolor)))
quelle
Mit den folgenden Codezeilen können Sie den Hintergrund des Kontrollkästchens in Ihrem Java-Code dynamisch ändern.
Diese Antwort war von dieser Seite . Sie können diese Site auch verwenden , um Ihre RGB-Farbe in den Hex-Wert zu konvertieren. Sie müssen die parseColor füttern
quelle