web-dev-qa-db-fra.com

Problème de mise en page relatif Android avec gravité

Comment puis-je mettre textview avec id = "naslov" au centre? J'ai aussi essayé avec layout_gravity = "center" mais ça ne marche pas non plus.

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">

<TextView   
    Android:id="@+id/naslov"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:textSize="20dip"
    Android:text="Povzetek"
    Android:gravity="center"/>
   <TextView   
    Android:id="@+id/aha"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:textSize="10dip"
    Android:text="Vseh oddaj:"
       Android:layout_below="@id/naslov"/>  
 </RelativeLayout> 
31
DixieFlatline
 Android:layout_centerHorizontal="true"
53
user1496130
 Android:layout_centerHorizontal="true"

il y a aussi 

Android:layout_centerInParent="true"

La liste complète des attributs de RelativeLayout est ici

Vous pouvez également indiquer à votre TextView fill_parent, puis définir gravity = center on Donc, ça va centrer le texte actuel dans textView.

43
Alex Volovoy

Réponse supplémentaire

Comme réponse plus générale à cette question, layout_gravity ne fonctionne pas avec les sous-vues d'une RelativeLayout. Il est destiné à être utilisé avec un LinearLayout ou un FrameLayout. Cependant, les sous-vues d'une RelativeLayout peuvent toujours utiliser gravity comme d'habitude, car c'est ainsi que la vue organise son propre contenu. 

Voir la comparaison dans l'image suivante. Les vues verte et bleue sont des TextViews à l'intérieur d'une RelativeLayout.

 enter image description here

gravity fonctionne mais layout_gravity ne fonctionne pas. Voir ma réponse plus complète pour plus de détails.

Voir également

6
Suragch

La disposition relative ne fait pas usage de layout_gravity, mais vous utilisez les valeurs de gravité des manières suivantes: centre, gauche, gauche | centre, droite | centre, droite, haut, bas.

<!-- below widget displaying text in left center -->
<TextView
           Android:id="@+id/song_title"
           Android:layout_width="match_parent"
           Android:layout_height="match_parent"
           Android:text="sample name text"
           Android:gravity="left|center"
           Android:textSize="15sp" />
0
Abhiode