Domyślnie pole wyboru Androida pokazuje tekst po prawej stronie i pole wyboru po lewej
Chcę pokazać pole wyboru po prawej stronie, a tekst po lewej
jak to osiągnąć?
Nie mogę wymyślić sposobu na stylizację, ale możesz po prostu ustawić tekst pola wyboru na zero i umieścić TextView po lewej stronie pola wyboru z żądanym tekstem.
Myślę, że jest już za późno, aby odpowiedzieć na to pytanie, ale tak naprawdę jest sposób, aby osiągnąć swój cel. Musisz tylko dodać następujący wiersz do swojego pola wyboru:
Możesz również użyć dostosowanego do rysowania pola wyboru.
A dla radia Przycisk:
A jeśli chcesz to zrobić programowo:
Zdefiniuj układ i nazwij go RightCheckBox i skopiuj następujące wiersze:
a kiedy chcesz dodać go programowo, wystarczy zawyżyć go do CheckBox i dodać do widoku głównego.
źródło
android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
. Myślę, że to najlepsze rozwiązanie dla pola wyboru po prawej stronie, które do tej pory znalazłem.android:drawableEnd
opróczandroid:drawableRight
(o tej samej wartości).Możesz to zrobić
Wystarczy podążać za linią
źródło
android:gravity="end|center_vertical"
wyświetlanie tekstu po lewej stronie, ponieważ układ zaczyna się teraz.Możesz dodać,
android:layoutDirection="rtl"
ale jest to dostępne tylko z API 17.źródło
Po prostu skopiuj to:
Miłego kodowania! :)
źródło
Tekst pola wyboru może nie być wyrównany do lewej strony
w jakimś urządzeniu. Może użyć CheckedTextView jako zamiennika, aby uniknąć problemu,
i ten link będzie pomocny: Wyrównaj tekst do lewej, pole wyboru do prawej
źródło
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
źródło
Zgodnie z sugestią @The Berga Możesz dodać,
android:layoutDirection="rtl"
ale jest to dostępne tylko z API 17.do dynamicznej implementacji, proszę bardzo
źródło
Zamiast tego możesz użyćCheckTextView.
http://developer.android.com/reference/android/widget/CheckedTextView.html
źródło
ponadto z imput Hazhir, dla tego problemu konieczne jest wstrzyknięcie tej właściwości w konfiguracji checkbox xml android: paddingLeft = "0dp", ma to na celu uniknięcie pustej przestrzeni po lewej stronie pola wyboru.
źródło
Dodanie kolejnej odpowiedzi na to pytanie, która używa CheckedTextView, jeśli ktoś próbuje to zrobić programowo. Ma również opcję używania niestandardowych obrazów dla pola wyboru. I można to zrobić w jednym widoku
Z XML, jeśli chcesz zainicjować -
źródło
Poniższe łącze pokazuje, jak renderować kilka standardowych obiektów widoku systemu Android z animowanym polem wyboru po prawej stronie, ustawiając odpowiedni element do rysowania.
Ustaw tło, aby uzyskać efekt falowania.
[link do strony internetowej z przykładowym polem wyboru po prawej i lewej stronie.] [1] http://landenlabs.com/android/uicomponents/uicomponents.html#checkbox
Przykładowy checkline.xml (do rysowania, zobacz link do wersji animowanej w drawable-v21)
Przykład transparent_ripple.xml (w drawable-v21)
Próbka transparent_ripple.xml (do rysowania, zaznacz tylko brak dostępnych tętnień
źródło
Jeśli nie jest to obowiązkowe,
CheckBox
możesz po prostu użyćSwitch
zamiast tego. Przełącznik domyślnie wyświetla tekst po lewej stronie.źródło
Możesz tego również użyć,
źródło
źródło