web-dev-qa-db-fra.com

Comment centrer une vue de texte dans une mise en page linéaire

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>
27
turtleboy

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>
48
Houcine

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.

6
Apoorv Singh

Essaye ça

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>
5
Sunil
    <TextView
...
    Android:layout_gravity="center"
....
/>
2
prozhyga

définir la largeur de votre textview sur wrap_content de votre textview et paramétrer LinearLayout sur Android:gravity=center_horizontal

0
Hardik Nadiyapara

On dirait que vous voulez Android:layout_gravity pour le TextView

voir docs: developer.Android.com

0
MrChaz

définir Android:gravity="center" dans votre mise en page linéaire 

0
Himanshu itmca

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".

0
jumper0k

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"
0
nunya07

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>
0
Tahreem

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>
0
waqaslam