Android: aligner un texte à gauche et centrer le textview dans la vue de ses parents

Bonjour, je suis confronté à un petit problème

J'utilise GRAVITY LEFT pour faire de mon texte un aligment pour le côté gauche d'une vue mais je veux centrer à l'intérieur de textview mais aussi aligner sur la partie gauche

Voici ce que j'ai maintenant:

            ___________________________________
_ _ _ _ _ _| aaaaaaaaaaaaa                     |_ _ _ _ _ _
_ _ _ _ _ _| aaaaaaaa                          |_ _ _ _ _ _
_ _ _ _ _ _| aaaaaaaaaaaaaa                    |_ _ _ _ _ _
            -----------------------------------

est Ce que je veux:

            ___________________________________
_ _ _ _ _ _|           aaaaaaaaaaa             |_ _ _ _ _ _
_ _ _ _ _ _|           aaaaaaaa                |_ _ _ _ _ _
_ _ _ _ _ _|           aaaaaaaaaaaaaa          |_ _ _ _ _ _
            -----------------------------------

Où:

_ _ _ _ = en dehors de textview

| = le TextView bord

j'ai essayé android: gravity = "left / center" mais ça ne marche pas, une idée ?

Merci

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/image_button_wrapper"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:layout_centerVertical="true">

    <ImageView
        android:id="@+id/left_button_image"
        android:layout_centerVertical="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="@dimen/spacing_normal"/>

    <Textview
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/left_button_image"
        android:gravity = "center|left|left"
        android:clickable="false"
        android:focusable="false"
        app:font_name="Roboto-Light.ttf"/>

Ce que j'ai (texte aligné à gauche, mais pas centré)enter image description here

ce que je veux (texte aligné à gauche et centré):enter image description here

10
demandé sur Foushi 2016-07-01 10:09:42

6 réponses

donnez Textview parent comme:

android:gravity = "center"

donnez Textview comme:

android:gravity = "center_vertical|left|start"
android:layout_margin="20dp"
6
répondu Ashish Vora 2016-07-01 09:27:53

Vous obtiendrez ce que vous voulez si vous changez la largeur de textview en match_parent ou donnez une largeur fixe:

<TextView
    android:layout_width="100dp"
    //android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Hi! This is amazing!!"
    android:gravity="center_horizontal"/>
2
répondu Drv 2016-07-01 11:26:40

dans votre textview changez ceci:

 android:gravity = "center|left|left"

 android:gravity = "center"
1
répondu Parsania Hardik 2016-07-01 09:16:57

le problème est avec votre largeur textview, qui s'enroule juste autour du texte et place sa gravité au centre juste le centrer dans sa zone d'enroulement.

changer la largeur pour correspondre-parent et la gravité au centre. Cela peut vous aider

android:layout_width="match_parent"
android:gravity = "center"

méthode Alternative: puisque les lignes limites sont alignées au centre qui sont séparés de la vue de texte. Il suffit d'ajouter la ligne suivante dans votre Texte.

  android:layout_centerHorizontal="true"
1
répondu abdul khan 2016-07-01 09:35:27

s'il vous plaît changer le RelativeLayout à LinearLayout faire gravité et layout_gravity center

0
répondu jisa 2017-06-15 06:14:06

pour commencer le texte à gauche et centré sur la gravité. Veuillez utiliser la gravité propriété comme cela,

android:gravity="center|start"
0
répondu Faris Muhammed 2018-04-02 06:25:16