¿Cómo alinear a la derecha el widget en la disposición horizontal horizontal?
Este es el código que estoy usando y no funciona:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right"> </TextView> </LinearLayout>
- Android Ver alinear abajo (de forma programática) sin XML
- ¿Alinea a la izquierda un TextView al texto dentro de un EditText?
- Cómo alinear el título en el centro de ActionBar en el tema predeterminado (Theme.Holo.Light)
- Alinear dos TextViews, una izquierda a la otra derecha, en un ListView sin estirar los fondos
- Alinear 2 textos, 1 normal, 1 opuesto
- Centrar texto en un brindis en Android
- Disposición relativa de Android alignCenter desde otra vista
- Zipalign error: El sistema no puede encontrar el archivo especificado
- Cómo alinear a la derecha el texto en un Android TextView o EditText?
- Toast.makeText (...) .show () es a veces mal alineado
- Alinee los valores del hilador a la derecha en lugar de a la izquierda
- Android "layout_alignParentBottom" en el diseño relativo
- Android Spinner Gravity No funciona
Trate de añadir vacío Ver dentro de LinearLayout horizontal antes de elemento que desea ver a la derecha, por ejemplo:
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <View android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
No cambie la gravedad de LinearLayout a "derecha" si no quiere que todo esté a la derecha
Tratar:
- Cambiar el ancho de
fill_parent
afill_parent
-
Cambiar la gravedad de TextView a la
right
<TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right"> </TextView>
Como complemento a la respuesta de alcsan, puede utilizar el Space
desde la API 14 (Android 4.0 ICE_CREAM_SANDWICH), documento aquí .
El espacio es una subclase de vista ligera que se puede utilizar para crear intervalos entre los componentes en los diseños de propósito general.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <Space android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" android:gravity="right" /> </LinearLayout>
Para aplicaciones que soportan niveles de API inferiores a 14, hay un android.support.v4.widget.Space
desde la Biblioteca de soporte de Android r22.1.0.
Con diseño lineal
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/select_car_book_tabbar" android:gravity="right" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:src="@drawable/my_booking_icon" /> </LinearLayout>
Con FrameLayout
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/select_car_book_tabbar"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|right" android:src="@drawable/my_booking_icon" /> </FrameLayout>
Con RelativeLayout
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/select_car_book_tabbar"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerInParent="true" android:src="@drawable/my_booking_icon" /> </RelativeLayout>
Establecer el layout_weight="1"
la vista layout_weight="1"
haría el truco.!
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" /> <RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
Añadir android:gravity="right"
to LinearLayout. Suponiendo que TextView
tenga layout_width="wrap_content"
Deberías usar un RelativeLayout y arrastrarlos hasta que parezca bueno 🙂
<ImageView android:id="@+id/button_info" android:layout_width="30dp" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="10dp" android:contentDescription="@string/pizza" android:src="@drawable/header_info_button" /> </RelativeLayout>
Lo he hecho de la manera más fácil:
Sólo tiene que tomar un RelativeLayout y poner su niño ver en él, que desea colocar en el lado derecho .
<LinearLayout android:id="@+id/llMain" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#f5f4f4" android:gravity="center_vertical" android:orientation="horizontal" android:paddingBottom="20dp" android:paddingLeft="15dp" android:paddingRight="15dp" android:paddingTop="20dp"> <ImageView android:id="@+id/ivOne" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/txtOne" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="Hiren" android:textAppearance="@android:style/TextAppearance.Medium" android:textColor="@android:color/black" /> <RelativeLayout android:id="@+id/rlRight" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right"> <ImageView android:id="@+id/ivRight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" android:src="@drawable/ic_launcher" /> </RelativeLayout> </LinearLayout>
Espero que te ayude.
Sólo tienes que añadir android:gravity="right"
en tu Liner Layout.
Trate de cambiar el layout_width a android:layout_width="match_parent"
porque gravity:"right"
alinea el texto dentro del layout_width, y si elige envolver el contenido que no tiene a dónde ir, pero si elige el partido padre puede ir a el derecho.
linear layout
con layout_width="fill_parent"
y también el widget con el mismo layout width
+ gravity as right
lo alinearía a la derecha.
Estoy usando 2 TextView
s en el siguiente ejemplo, topicTitle
a la izquierda y topicQuestions
a la derecha.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingLeft="20dp" android:orientation="horizontal"> <TextView android:id="@+id/topicTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp" android:textStyle="bold" /> <TextView android:id="@+id/topicQuestions" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="18sp" android:textStyle="bold" /> </LinearLayout> </RelativeLayout>
Salida
En caso de TextView:
<TextView android:text="TextView" android:id="@+id/textView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textAlignment="gravity"> </TextView>
Prueba esto..
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:gravity="right" > <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> </LinearLayout>