Standardmäßig zeigt das Kontrollkästchen für Android Text auf der rechten Seite und das Kontrollkästchen auf der linken Seite an.
Ich möchte das Kontrollkästchen auf der rechten Seite mit Text auf der linken Seite anzeigen
Wie erreiche ich das?
Ich kann mir keine Möglichkeit für das Styling vorstellen, aber Sie können einfach den Text des Kontrollkästchens auf nichts setzen und eine Textansicht mit dem gewünschten Text links neben dem Kontrollkästchen platzieren.
Ich denke, es ist zu spät, um diese Frage zu beantworten, aber tatsächlich gibt es einen Weg, um Ihr Ziel zu erreichen. Sie müssen nur die folgende Zeile zu Ihrem Kontrollkästchen hinzufügen:
Sie können auch Ihr benutzerdefiniertes Zeichenfeld für Zeichnungszeichen verwenden.
Und für einen RadioButton:
Und wenn Sie es programmgesteuert tun möchten:
Definieren Sie ein Layout und nennen Sie es RightCheckBox und kopieren Sie die folgenden Zeilen:
und wenn Sie es programmgesteuert hinzufügen müssen, müssen Sie es nur in eine CheckBox aufblasen und zur Stammansicht hinzufügen.
quelle
android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
. Ich denke, dies ist die beste Lösung für ein Kontrollkästchen auf der rechten Seite, das ich bisher gefunden habe.android:drawableEnd
zusätzlich zuandroid:drawableRight
(mit dem gleichen Wert) hinzu.Du kannst tun
Die folgende Zeile reicht aus
quelle
android:gravity="end|center_vertical"
, dass der Text links angezeigt wird, da das Layout jetzt beginnt.Sie können hinzufügen,
android:layoutDirection="rtl"
aber es ist nur mit API 17 verfügbar.quelle
Kopieren Sie einfach Folgendes:
Viel Spaß beim Codieren! :) :)
quelle
Der Text des Kontrollkästchens wird möglicherweise nicht nach links ausgerichtet
in einem Gerät. Kann CheckedTextView als Ersatz verwenden, um das Problem zu vermeiden.
und dieser Link wird hilfreich sein: Text links ausrichten, Kontrollkästchen rechts
quelle
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
quelle
Wie von @The Berga vorgeschlagen Sie können hinzufügen,
android:layoutDirection="rtl"
aber es ist nur mit API 17 verfügbar.Für die dynamische Implementierung, hier geht es
quelle
Sie können stattdessen checkedTextView verwenden.
http://developer.android.com/reference/android/widget/CheckedTextView.html
quelle
Außerdem von Hazhir imput, für dieses Problem ist es notwendig, diese Eigenschaft in das Kontrollkästchen XML-Konfiguration android: paddingLeft = "0dp" einzufügen, um den leeren Raum auf der linken Seite des Kontrollkästchens zu vermeiden.
quelle
Hinzufügen einer weiteren Antwort auf diese Frage, die CheckedTextView verwendet Wenn jemand versucht, dies programmgesteuert zu tun. Es besteht auch die Möglichkeit, benutzerdefinierte Bilder für das Kontrollkästchen zu verwenden. Und kann in einer einzigen Ansicht durchgeführt werden
Aus XML, wenn Sie initiieren möchten -
quelle
Der folgende Link zeigt, wie Sie mehrere Standard-Android-Ansichtsobjekte mit einem animierten Kontrollkästchen auf der rechten Seite rendern, indem Sie das richtige Zeichenelement festlegen.
Stellen Sie den Hintergrund ein, um einen Welleneffekt zu erzielen.
[Link zur Website mit Beispiel-Kontrollkästchen auf der rechten und linken Seite.] [1] http://landenlabs.com/android/uicomponents/uicomponents.html#checkbox
Beispiel checkline.xml (in drawable, siehe Link für animierte Version in drawable-v21)
Beispiel transparent_ripple.xml (in drawable-v21)
Beispiel transparent_ripple.xml (in zeichnbar markieren Sie nur keine verfügbare Welligkeit
quelle
Wenn die Verwendung von a nicht obligatorisch ist, können
CheckBox
SieSwitch
stattdessen einfach a verwenden. Ein Schalter zeigt standardmäßig den Text auf der linken Seite an.quelle
Sie können dies auch verwenden,
quelle
quelle