¿Cómo mostrar la casilla de verificación de Android en el lado derecho?
De forma predeterminada, la casilla de verificación de Android muestra el texto a la derecha y la casilla de verificación a la izquierda
Quiero mostrar la casilla de verificación en el lado derecho con el texto a la izquierda
¿Cómo logro esto?
- Mutiple fragmentos en un vertical Linearlayout
- Android: ¿Cómo hacer todos los elementos dentro de LinearLayout del mismo tamaño?
- Edición de diseño de Android
- Programar el atributo AlignParentRight al botón en RelativeLayout no funciona?
- Gaveta de navegación Atributo de diseño específico de la API de Android
- ¿Cómo desactivar un botón de Android?
- Creación de botones de pestaña personalizados
- Cómo mover 20dip margen izquierda del centro?
- ¿Es concatenación de cadenas de recursos / concatenación de cadenas, posible en el archivo de diseño?
- Escala de la imagen de fondo en LinearLayout
- SetClickable () no funciona en el botón
- ¿Hay una manera de establecer el color ondulado para un botón de acción flotante a través de atributos XML?
- Cambiar el orden de las vistas en el diseño lineal android
No puedo pensar en una manera con el estilo, pero usted podría apenas fijar el texto de la caja a nada, y poner un TextView a la izquierda de la caja de cheque con su texto deseado.
Creo que es demasiado tarde para responder a esta pregunta, pero en realidad hay una manera de lograr su objetivo. Sólo tiene que agregar la siguiente línea a su casilla de verificación:
android:button="@null" android:drawableRight="?android:attr/listChoiceIndicatorMultiple"
También puede usar su casilla de verificación dibujable a medida.
Y para un radioButton:
android:button="@null" android:drawableRight="@android:drawable/btn_radio"
Y si desea hacerlo de forma programática:
Definir un diseño y el nombre de RightCheckBox y copiar las líneas siguientes:
<?xml version="1.0" encoding="utf-8"?> <CheckBox xmlns:android="http://schemas.android.com/apk/res/android" android:text="hello" android:layout_width="match_parent" android:layout_height="match_parent" android:button="@null" android:drawableRight="?android:attr/listChoiceIndicatorMultiple"/>
Y cuando usted necesita agregarlo programáticamente usted apenas necesita inflarlo a un CheckBox y agregarlo a la opinión de la raíz.
CheckBox cb = (CheckBox)((LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE)).inflate(R.layout.check_right_checkbox,null); rootView.addView(cb);
Sólo copie esto:
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Your text:"/> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" /> </LinearLayout>
Feliz codding! 🙂
Puedes añadir android:layoutDirection="rtl"
pero solo está disponible con API 17.
El texto de la casilla de verificación puede no estar alineado a la izquierda con
android:button="@null" android:drawableRight="@android:drawable/btn_radio"
En algún dispositivo. Puede utilizar CheckedTextView como un reemplazo para evitar el problema,
<CheckedTextView ... android:checkMark="@android:drawable/btn_radio" />
Y este enlace será útil: Alinee el texto a la izquierda, marque la casilla de verificación a la derecha
Tu puedes hacer
<CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right|center"//or "center_vertical" for center text android:layoutDirection="rtl" android:text="hello" />
La siguiente línea es suficiente
android:layoutDirection="rtl"
Además de la entrada de Hazhir, para este problema es necesario inyectar esa propiedad en la casilla de verificación xml configuration android: paddingLeft = "0dp", esto es para evitar el espacio vacío en la casilla de verificación a la izquierda.
Como sugiere @The Berga Puedes añadir android:layoutDirection="rtl"
pero solo está disponible con API 17.
Para una implementación dinámica, aquí va
chkBox.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
Puede utilizar checkedTextView en su lugar.
http://developer.android.com/reference/android/widget/CheckedTextView.html
Agregar otra respuesta a esta pregunta que utiliza CheckedTextView Si alguien está intentando hacerlo programáticamente. También tiene la opción de usar imágenes personalizadas para la casilla de verificación. Y se puede hacer en una sola vista
final CheckedTextView checkBox = new CheckedTextView(getApplicationContext()); checkBox.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); checkBox.setId(1); checkBox.setCheckMarkDrawable(android.R.drawable.checkbox_off_background); checkBox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (checkBox.isChecked()){ checkBox.setChecked(false); checkBox.setCheckMarkDrawable(android.R.drawable.checkbox_off_background); }else{ checkBox.setChecked(true); checkBox.setCheckMarkDrawable(android.R.drawable.checkbox_on_background); } } }); checkBox.setTextColor(Color.BLACK); checkBox.setGravity(Gravity.LEFT); checkBox.setText("hi");
Desde XML si desea iniciar –
<CheckedTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:checkMark="@android:drawable/checkbox_off_background" android:checked="false" android:text="Hi from xml"/>
El siguiente vínculo muestra cómo hacer que seveveral Standard Android vea objetos con una casilla de verificación animada a la derecha al establecer el derecho drawable.
Establecer el fondo para obtener un efecto de rizo.
[Enlace al sitio web con la casilla de verificación de ejemplo a la derecha e izquierda.] [1] http://landenlabs.com/android/uicomponents/uicomponents.html#checkbox
<Button android:id="@+id/p2Button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/transparent_ripple" android:drawableRight="@drawable/checkline" android:gravity="left|center_vertical" android:text="Button" android:textAllCaps="false" android:textColor="@android:color/white" android:textSize="@dimen/buttonTextSize" /> <android.support.v7.widget.AppCompatButton android:id="@+id/p2Button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/transparent_ripple" android:drawableRight="@drawable/checkline" android:gravity="left|center_vertical" android:text="AppCompatButton" android:textAllCaps="false" android:textColor="@android:color/white" android:textSize="@dimen/buttonTextSize" /> <TextView android:id="@+id/p2TextView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/transparent_ripple" android:drawableRight="@drawable/checkline" android:gravity="left|center_vertical" android:hapticFeedbackEnabled="true" android:text="TextView" android:textColor="@android:color/white" android:textSize="@dimen/buttonTextSize" /> <android.support.v7.widget.AppCompatTextView android:id="@+id/p2TextView2" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/transparent_ripple" android:drawableRight="@drawable/checkline" android:gravity="left|center_vertical" android:hapticFeedbackEnabled="true" android:text="AppCompatTextView" android:textColor="@android:color/white" android:textSize="@dimen/buttonTextSize" /> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="@android:color/white" /> <CheckBox android:id="@+id/p2Checkbox1" android:layout_width="match_parent" android:layout_height="@dimen/buttonHeight" android:background="@drawable/transparent_ripple" android:button="@null" android:checked="true" android:drawableRight="@drawable/checkline" android:gravity="left|center_vertical" android:text="CheckBox" android:textColor="@android:color/white" android:textSize="@dimen/buttonTextSize" /> <android.support.v7.widget.AppCompatCheckBox android:id="@+id/p2Checkbox2" android:layout_width="match_parent" android:layout_height="@dimen/buttonHeight" android:background="@drawable/transparent_ripple" android:button="@null" android:checked="true" android:drawableRight="@drawable/checkline" android:gravity="left|center_vertical" android:text="AppCompatCheckBox" android:textColor="@android:color/white" android:textSize="@dimen/buttonTextSize" /> <android.support.v7.widget.AppCompatCheckedTextView android:id="@+id/p2Checkbox3" android:layout_width="match_parent" android:layout_height="@dimen/buttonHeight" android:background="@drawable/transparent_ripple" android:checkMark="@drawable/checkline" android:checked="true" android:gravity="left|center_vertical" android:text="AppCompatCheckedTextView" android:textColor="@android:color/white" android:textSize="@dimen/buttonTextSize" /> <!-- android:checkMark="?android:attr/listChoiceIndicatorMultiple" --> <CheckedTextView android:id="@+id/p2Checkbox4" android:layout_width="match_parent" android:layout_height="@dimen/buttonHeight" android:background="@drawable/transparent_ripple" android:checkMark="@drawable/checkline" android:checked="true" android:gravity="left|center_vertical" android:text="CheckedTextView" android:textColor="@android:color/white" android:textSize="@dimen/buttonTextSize" /> <CheckBox android:id="@+id/p2Checkbox5" android:layout_width="match_parent" android:layout_height="@dimen/buttonHeight" android:background="@drawable/transparent_ripple" android:checked="true" android:gravity="center_vertical|end" android:text="CheckBox" android:textColor="@android:color/white" android:textSize="@dimen/buttonTextSize" /> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="@android:color/white" /> <ToggleButton android:id="@+id/p2ToggleButton1" android:layout_width="match_parent" android:layout_height="@dimen/buttonHeight" android:background="@drawable/transparent_ripple" android:checked="true" android:drawableRight="@drawable/checkline" android:gravity="center_vertical|left" android:textAllCaps="false" android:textColor="@android:color/white" android:textOff="ToggleButtonOff" android:textOn="ToggleButtonOn" android:textSize="@dimen/buttonTextSize" /> <ToggleButton android:id="@+id/p2ToggleButton2" android:layout_width="match_parent" android:layout_height="@dimen/buttonHeight" android:background="@drawable/transparent_ripple" android:checked="true" android:drawableRight="@drawable/btn_check_material_anim" android:gravity="center_vertical|left" android:textAllCaps="false" android:textColor="@android:color/white" android:textOff="ToggleBtnnAnimOff" android:textOn="ToggleBtnnAnimOn" android:textSize="@dimen/buttonTextSize" />
Muestra checkline.xml (en drawable, vea el enlace para la versión animada en drawable-v21)
Muestra transparent_ripple.xml (en drawable-v21)
<!-- Limit ripple to view object, can also use shape such as oval --> <item android:id="@android:id/mask" android:drawable="@android:color/white" /> <item> <selector xmlns:android="http://schemas.android.com/apk/res/android" android:enterFadeDuration="200" android:exitFadeDuration="200"> <item android:state_pressed="true"> <shape android:shape="rectangle"> <solid android:color="#80c0c000" /> </shape> </item> </selector> </item>
Muestra transparent_ripple.xml (en drawable, resalte solamente ninguna ondulación disponible
<item android:state_pressed="true"> <shape android:shape="rectangle"> <solid android:color="#80c0c000" /> </shape> </item> <item> <shape android:shape="rectangle"> <solid android:color="@android:color/transparent" /> </shape> </item>
Si no es obligatorio usar un CheckBox
, puede usar un Switch
lugar. Un conmutador muestra el texto en el lado izquierdo de forma predeterminada.
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/location_permissions" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@android:color/black" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <CheckBox android:id="@+id/location_permission_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginRight="8dp" android:onClick="onLocationPermissionClicked" /> </RelativeLayout> </LinearLayout>
- Android SDK AsyncTask doInBackground no está en ejecución (subclase)
- ¿Por qué ActionBarActivity fue obsoleta?