Ist es möglich, das Optionsfeldsymbol in einer Android-Optionsfeldgruppe zu ändern?
95
Ich möchte dem Benutzer meiner Android-Anwendung die Möglichkeit geben, einige Parameter festzulegen. Das Optionsfeld ist ideal für diese Situation. Ich mag es jedoch nicht, wenn die Optionsfelder gerendert werden.
Ist es möglich, das Optionsfeldsymbol zu ändern? Ist es beispielsweise möglich, ein benutzerdefiniertes Layout für jede Zeile zu erstellen und in diesem Layout auf mein eigenes Symbol zu verweisen und die Schriftart zu ändern?
Sie können die android: button-Eigenschaft auch einfach für das Optionsfeld selbst festlegen, anstatt einen separaten benutzerdefinierten Stil dafür zu definieren.
Yoni Samlan
7
Stimmt, aber das ist keine allzu gute Praxis, da Sie normalerweise mehr als nur ein Optionsfeld haben.
Konstantin Burov
@KonstantinBurov Was ist, wenn ich ein 9-Patch-Image verwende?
Hades
@KonstantinBurov Es sei denn, Sie fügen Buttons programmgesteuert hinzu. In diesem Fall ist es großartig :)
Cornholio
1
Für das Support-Design möchten Sie möglicherweise <style name = "CustomTheme" parent = "android: Theme"> <item name = "android: radioButtonStyle"> @ style / RadioButton </ item> <item name = "radioButtonStyle"> @ style verwenden / RadioButton </ item> </ style>
Dhruv Mevada
30
Sie können ein benutzerdefiniertes Bild wie eine normale Schaltfläche in den Radiobutton einfügen. Erstellen Sie dazu eine XML-Datei in einem zeichnbaren Ordner, z
Beste Lösung, für meinen Fall habe ich auch 'drawableRight' in 'button' geändert und der Selektor-XML etwas Polsterung hinzugefügt
F-1
Dies ist die beste Lösung. Ich wurde auf diese Weise verwendet und es funktioniert gut. Aber nach der Migration zu andoidx android: button = "@ null" funktioniert nicht und wir sehen zwei Optionsfelder für jedes Element! .
Sie können ein benutzerdefiniertes Bild wie eine normale Schaltfläche in den Radiobutton einfügen. Erstellen Sie dazu eine XML-Datei in einem zeichnbaren Ordner, z
Hier können Sie 3 verschiedene Bilder für Radiobutton verwenden
und verwenden Sie diese Datei für RadioButton wie:
quelle
Der einfachere Weg, nur das Optionsfeld zu ändern, besteht darin, den Wahlschalter für das Zeichen nach rechts einzustellen
Und der Selektor ist:
Das ist alles
quelle
ja .... `von Xml
und aus Java
`
quelle
Hier ist wahrscheinlich ein schneller Ansatz,
Mit zwei oben gezeigten Symbolen haben Sie so
RadioGroup
etwasRadioGroup
Ausrichtung des Geräts in horizontalRadioButton
Geben Sie für die jeweiligen Eigenschaften das Symbol fürButton
unter einCompoundButton
.quelle
Falls Sie dies programmgesteuert tun möchten,
quelle