Me preguntaba si había una forma de cambiar el lado que aparece el texto en un botón de radio en Android?Cambiar el lado que aparece el texto en un botón de radio
Respuesta
Como indica Ravi Vyas, puede hacerlo usted mismo con un TextView
y un RadioButton
. No hay nada intrínseco en RadioButton
para reposicionar el botón relativo al texto, desde mi lectura del código fuente.
Además, tenga en cuenta que el hecho de que esto sea posible no significa que sea una buena idea. Por ejemplo, en el iPhone, es posible que no se le permita enviar su aplicación si se pierde demasiado con esto, ya que tienen pautas de interfaz humana que las aplicaciones deben cumplir. Android te ofrece mucha más cuerda: no cuelgues a los usuarios con ella.
que quería hacer la misma cosa, y sin tener que ampliar otra clase (o dos, ya que tendría que al menos extender CompoundButton y RadioButton) para algo que debería ser parte de la aplicación desde el principio. Ya que estaba usando un RadioGroup, que no funcionará si pones decir, un RadioButton y un TextView en un contenedor de diseño. Mi solución es ciertamente algo hackosa, pero ... funciona.
1) establecer el relleno dejó a 40 2) Establecer margen Disposición izquierda a -36dp
En este punto, el botón de radio original estará fuera de la vista, y la vista texto se sienta en el extremo izquierdo con un margen de 4dp.
3) Establecer la derecha Disponibles a @android: dibujable/btn_radio
Ahora tendrá un RadioButton nativo con el texto a la izquierda y un botón a la derecha, que funcionará con un RadioGroup.
@CommonsWare
Vale la pena mencionar que es increíblemente irónico para abrir Human Interface Guidelines en respuesta a esta pregunta en particular. Especialmente teniendo en cuenta que ajustar el diseño de RadioButton para colocar el botón en el extremo derecho, lograría la coherencia con el diseño del menú de Spinner. Estoy completamente de acuerdo con su opinión sobre el asunto, pero es muy posible que NickTFried intentara compensar que Android se "colgara" a sí mismo en ese sentido.
Puede usar android: button = "@ null" para eliminar el botón izquierdo (en lugar del paso 1) – EtienneSky
cuando configuro Android: button = "@ null", el botón de opción no se verifica (hace clic). Estoy haciendo algo mal. ayuda http://stackoverflow.com/questions/28052820/android-custom-radio-button-not-getting-checked –
Esto se puede hacer usando CheckedTextView
; ver android RadioButton option on the right side of the text
El enlace no proporciona ninguna información adicional .... – Jeroen
El CheckedTextView
funciona bien si está trabajando con un solo "botón de radio".
Pero necesitaba para conservar la funcionalidad de alternar entre los botones de opción de un grupo así que esto funcionó mejor para mí:
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="left|center_vertical"
android:layout_marginLeft="-32dp"
android:text="Radio Button 1" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="left|center_vertical"
android:layout_marginLeft="-32dp"
android:text="Radio Button2" />
</RadioGroup>
Ajuste el android:layout_marginLeft
según sea necesario.
Para idiomas RTL i.e Arabic
utilizar este:
<RadioGroup
android:id="@+id/rgNewsFilter"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/rbAllNews"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="-32dp"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="right|center_vertical"
android:text="ذنيسبمنشخصث"
android:textColor="#ffffff" />
<RadioButton
android:id="@+id/rbMyTeam"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="-32dp"
android:button="@null"
android:drawableRight="@android:drawable/btn_radio"
android:gravity="right|center_vertical"
android:text="تشسيبتسيتبتسيب"
android:textColor="#ffffff" />
</RadioGroup>
Android se ha construido en un diseño que puede utilizar - android.R.layout.simple_list_item_single_choice
:
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<CheckedTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" />
Si desea modificarlo, puede copiar y pegar lo anterior en un nuevo archivo XML y luego use la etiqueta <include>
para incluirla en sus otros diseños (bajo Apache 2.0 License). También puede usarlo como un elemento de la lista, y dejarlo sin cambios.
- 1. El texto dentro de un botón de radio
- 2. Cambiar tamaño: Botón de radio Android
- 3. puede cambiar el tipo de fuente de un Edittext, botón de radio y CheckBox en Android
- 4. ¿Cambiar el texto del botón de xcode?
- 5. jQueryUI cuadro de diálogo - no aparece el texto del botón
- 6. Cómo cambiar el texto de un TextView presionando un botón
- 7. Android: No se puede cambiar el texto aparece en AlertDialog
- 8. jQuery .change() en el botón de radio
- 9. Cambiar el lado de un jScrollPane y cambiar el tamaño
- 10. Cómo cambiar el tamaño de un botón según su texto
- 11. Android widget: Cómo cambiar el texto de un botón
- 12. ¿Es posible cambiar el ícono de botón de radio en un grupo de botones de radio de Android?
- 13. Evento para seleccionar el botón de radio?
- 14. JQuery: obtener el valor botón de radio
- 15. botón Ext Js Radio con el texto de entrada en su etiqueta
- 16. Cambiar el logotipo que aparece en Android ActionBar programáticamente
- 17. CSS: ¿Cómo cambiar el espacio entre el botón de opción y su texto?
- 18. Cómo cambiar el texto del botón de retroceso de uinavigationbar
- 19. El subrayado en la propiedad de texto del botón no aparece
- 20. jQuery hacer clic/cambiar función en el botón de opción
- 21. El contenido no aparece en el iframe hasta que utilizo el botón editar en firebug
- 22. Botón personalizado de Android; cambiar el color del texto
- 23. Cómo controlar el tamaño de un botón de radio con apariencia "Botón"
- 24. ¿Cómo cambiar el texto de una etiqueta en jQuery?
- 25. cambiar el color del botón de texto cuando se presiona
- 26. MVC Razor Botón de radio
- 27. Mostrar la etiqueta de texto para el botón de radio seleccionada en Jquery
- 28. ¿Cómo hacer que el ancho del botón sea autofit el texto de un botón?
- 29. cambiar dinámicamente el ancho de un botón en Android
- 30. ¿Aparece el texto de formato WPF?
bien podría hacer un diseño complejo con texto y un botón de radio no etiquetado –