C'est le code que j'utilise et qui ne fonctionne pas:
<?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>
Essayez d'ajouter View
vide à l'intérieur de LinearLayout
horizontal avant l'élément que vous voulez voir à droite, par exemple:
<LinearLayout
Android:layout_width="match_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>
Ne changez pas la gravité de LinearLayout en "right" si vous ne voulez pas que tout soit à droite.
Essayer:
fill_parent
right
Code:
<TextView
Android:text="TextView"
Android:id="@+id/textView1"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:gravity="right">
</TextView>
En complément de la réponse d’alcsan, vous pouvez utiliser Space
depuis l’API 14 (Android 4.0 ICE_CREAM_SANDWICH), documentez ici .
Space est une sous-classe View légère qui peut être utilisée pour créer des espaces entre les composants dans les présentations générales.
<?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>
Pour les applications prenant en charge les niveaux d'API inférieurs à 14, il existe un Android.support.v4.widget.Space
depuis Android Support Library r22.1.0.
Avec Disposition linéaire
<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>
avec 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>
avec 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>
régler le layout_weight="1"
de la vue ferait l'affaire.!
<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"/>
Ajoutez Android:gravity="right"
à LinearLayout. En supposant que la TextView
a layout_width="wrap_content"
ajoutez simplement Android:gravity="right"
dans la structure de votre support.
Vous devriez utiliser un RelativeLayout et faites-le glisser jusqu'à ce qu'il soit beau
<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>
linear layout
avec layout_width="fill_parent"
et le widget avec le même layout width
+ gravity as right
l'alignerait à droite.
J'utilise 2 TextView
s dans l'exemple suivant, topicTitle
à gauche et topicQuestions
à droite.
<?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>
Essayez de changer le layout_width en Android:layout_width="match_parent"
car gravity:"right"
aligne le texte à l'intérieur du layout_width, et si vous choisissez un contenu wrap, il n'a pas où aller, mais si vous choisissez une correspondance parent, vous pouvez aller à droite.
Je l'ai fait par le moyen le plus simple:
Prenez juste un (RelativeLayout} _ et mettez votre enfantvue, que vous voulez placer du côté droit.
<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>
J'espère que cela vous aidera.
Pas besoin d'utiliser une vue ou un élément supplémentaire:
// c'est si simple et facile
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal"
>
// ceci est laissé alignement
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="No. of Travellers"
Android:textColor="#000000"
Android:layout_weight="1"
Android:textStyle="bold"
Android:textAlignment="textStart"
Android:gravity="start" />
// c'est le bon alignement
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Done"
Android:textStyle="bold"
Android:textColor="@color/colorPrimary"
Android:layout_weight="1"
Android:textAlignment="textEnd"
Android:gravity="end" />
</LinearLayout>
En cas avec 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>
Ajouter une vue est un peu difficile et couvre toute la largeur de l'écran comme ceci:
<LinearLayout
Android:layout_width="match_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" />
Essayez ce code:
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="right"
>
<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Create Account"/>
</LinearLayout>
Lorsque vous l'ajoutez du concepteur de studio Android dans une LinearLayout
, deux propriétés sont ajoutées:
Android:layout_alignParentEnd="true"
Android:layout_alignParentRight="true"