J'ai la mise en page suivante je voudrais faire la textview apparaître au centre et au milieu de la vue. Comment puis-je y arriver?
J'ai essayé d'ajuster les divers attributs de gravité lorsque je regarde la disposition en mode graphique, mais rien ne semble le changer. Je voudrais le texte au centre que j'ai fait mais à mi-chemin de la vue.
merci mat.
<?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="vertical"
Android:background="@drawable/carefreebgscaledalphajpg" >
<TextView
Android:id="@+id/textviewdatefornocallspage"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="center"
Android:text="You have no calls for "
Android:textSize="25sp" />
</LinearLayout>
définissez la gravité au centre de votre tag linearLayout:
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:gravity="center"
Android:background="@drawable/carefreebgscaledalphajpg" >
ou utilisez une RelativeLayout
comme ceci:
<?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"
Android:background="@drawable/carefreebgscaledalphajpg" >
<TextView
Android:id="@+id/textviewdatefornocallspage"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_centerInParent="true"
Android:text="You have no calls for "
Android:textSize="25sp" />
</RelativeLayout>
Définissez Android:gravity="center"
dans une présentation linéaire et conservez la hauteur et la largeur de la vue de texte sur wrap_content
.
Cette solution a fonctionné pour moi.
simple, j'ai essayé de nombreuses réponses mais toutes les réponses ne fonctionnent pas ...... enfin cette méthode fonctionne pour moi
<LinearLayout
Android:layout_below="@+id/iv_divider"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:layout_marginTop="@dimen/_10dp">
<TextView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:text="@string/mycredits"
Android:textColor="@color/colorGray"
Android:gravity="center"
Android:textSize="@dimen/_25dp" />
</LinearLayout>
<TextView
...
Android:layout_gravity="center"
....
/>
définir la largeur de votre textview sur wrap_content
de votre textview et paramétrer LinearLayout sur Android:gravity=center_horizontal
On dirait que vous voulez Android:layout_gravity
pour le TextView
voir docs: developer.Android.com
définir Android:gravity="center"
dans votre mise en page linéaire
Si vous positionnez votre orientation verticalement de manière linéaire, vous pouvez placer la vue texte dans le "centre horizontal" de Android:layout_gravity="center"
. Pour centrer verticalement TextView, vous devez définir layout_height of textview sur match_parent et définir Android: gravity sur "center". Si vous souhaitez utiliser plusieurs vues dans cette présentation, vous devez utiliser RelativeLayout et définir Android:layout_centerInParent="true"
.
Aucune des autres réponses n'a fonctionné pour moi. Je devais utiliser Android:textAlignment="center"
Mes dispositions étaient les suivantes
<LinearLayout...
<RelativeLayout...
<RelativeLayout....
<TextView
Android:layout_centerInParent="true"
Android:textAlignment="center"
Utilisez la mise en page relative, elle donne toujours une mise en page plus précise et plus flexible
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:orientation="vertical" >
<ImageView
Android:id="@+id/imageView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerInParent="true"
Android:src="@drawable/ic_launcher" />
</RelativeLayout>
Ajoutez Android:gravity="center_horizontal"
à votre LinearLayout et modifiez vos TextView layout_width as Android:layout_width="wrap_content"
<?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="vertical"
Android:gravity="center_horizontal"
Android:background="@drawable/carefreebgscaledalphajpg" >
<TextView
Android:id="@+id/textviewdatefornocallspage"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:gravity="center"
Android:text="You have no calls for "
Android:textSize="25sp" />
</LinearLayout>