Измените сторону, которую текст появится на переключателе

Мне было интересно, есть ли способ переключить ту сторону, что текст появляется на радио-кнопке в андроиде?

Я хотел сделать то же самое, без необходимости продлить еще один class (или два, так как вам придется хотя бы расширить CompoundButton и RadioButton) для чего-то, что должно быть частью реализации с самого начала. Поскольку я использовал RadioGroup, который не будет работать, если вы скажете, RadioButton и TextView в контейнере компоновки. Мое решение, по общему признанию, более чем хакерское, но – оно работает.

1) Set Padding left to 40 2) Установите размер макета слева на -36dp

На этом этапе исходная радиокнопка будет находиться за пределами представления, и ваш текстовый вид будет сидеть слева влево с краем 4dp.

3) Установите Drawable справа на @android: drawable / btn_radio

Теперь у вас будет родной RadioButton с текстом слева и кнопкой справа, которая будет работать с RadioGroup.

@CommonsWare

Стоит отметить, что невероятно иронично поднимать Руководства по интерфейсам человека в ответ на этот конкретный вопрос. Особенно учитывая, что настройка макета RadioButton для размещения кнопки в крайнем правом углу, обеспечит согласованность с макетом меню Spinner. Я полностью согласен с вашим мнением по этому вопросу – но вполне возможно, что NickTFried пытался компенсировать «зависание» Android в этом отношении.

Как указывает Рави Вьяс, вы можете сделать это самостоятельно с помощью TextView и RadioButton . Для RadioButton нет ничего, что могло бы изменить положение кнопки относительно текста, из моего чтения исходного кода.

Кроме того, помните, что только потому, что это возможно, это не значит, что это хорошая идея. Например, на iPhone вам не разрешено отправлять ваше приложение, если вы слишком много обходите это, потому что у них есть руководящие принципы для человеческого интерфейса, которым должны придерживаться приложения. Android дает вам гораздо больше веревки – не вешайте своих пользователей с ней.

CheckedTextView отлично работает, если вы работаете с одним «переключателем».

Но мне нужно было сохранить функциональность переключения между переключателями в группе, чтобы это работало лучше для меня:

      

При необходимости отрегулируйте android:layout_marginLeft .

Для языков RTL, т.е. Arabic используйте это:

      

Это можно сделать с помощью CheckedTextView ; см. параметр android RadioButton в правой части текста

Android имеет встроенный макет, который вы можете использовать – android.R.layout.simple_list_item_single_choice :

    

Если вы хотите изменить его, вы можете скопировать-вставить выше в новый XML-файл, а затем использовать чтобы включить его в другие макеты (в соответствии с лицензией Apache 2.0 ). Вы также можете использовать его как элемент списка и оставить его неизменным.

  • ProgressBar в Javafx не обновляется в блоке onAction
  • Repeater, ListView, DataList, DataGrid, GridView ... Что выбрать?
  • Использование нескольких JFrames: хорошая или плохая практика?
  • Создание надежного масштабируемого графического интерфейса Swing Chess
  • Как установить выходной stream в TextArea
  • Android RecyclerView добавление и удаление элементов
  • Как эффективно использовать cardlayout в java для переключения с панели с помощью кнопок внутри различных панельных конструкторов
  • Лучшая практика настройки местоположений JFrame
  • Доступ к компонентам GUI из другого classа
  • Как отобразить более трех уровней расширяемого вида списка?
  • Лучший способ переключения между UISplitViewController и другими controllerами представлений?
  • Interesting Posts

    Спящий режим, весна, JPS и изоляция – индивидуальная изоляция не поддерживается

    Как распространять исключения между streamами?

    Могу ли я делать запросы POST или GET из приложения iphone?

    Разверните случайный диапазон от 1-5 до 1-7

    Как проверить, указан ли аргумент метода директивы в AngularJS?

    4 идентичных модуля памяти не работают

    Как установить IE в качестве браузера по умолчанию?

    Каково возможное использование для параметра #define для if (false) {} else for??

    Какое сетевое соединение используется при подключении с использованием нескольких интерфейсов

    Прикрепить отладчик в C # к другому процессу

    Какова цель библиотечной функции div ()?

    Кордова не может добавить Android с кодом выхода ENOENT

    Каковы препятствия для понимания указателей и что можно сделать для их преодоления?

    Есть ли список специальных каталогов / ярлыков Windows (например,% TEMP%)?

    Воспроизведение видео на подключенном HDMI телевизоре замерзает при нажатии всего экрана

    Давайте будем гением компьютера.