web-dev-qa-db-fra.com

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

Bonjour je suis confronté à un petit problème

J'utilise GRAVITY LEFT pour transformer mon texte en un alignement pour le côté gauche d'une vue, mais je souhaite centrer l'intérieur de la vue mais aussi m'aligner sur la partie gauche.

Voici ce que j'ai maintenant:

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

Ce que je veux, c'est:

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

Où:

_ _ _ _ = en dehors de textview

| = le bord TextView

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

Qu'est-ce que j'ai (texte aligner à gauche mais pas centré)  enter image description here

Ce que je veux (aligner le texte à gauche et au centre) (j'ajoute un remplissage manuellement pour obtenir le rendu, mais c'est sale et ne s'adaptera pas à tout le texte):  enter image description here

10
Foushi

Il suffit de donner le parent Textview comme:

Android:gravity = "center"

Il suffit de donner Textview comme:

Android:gravity = "center_vertical|left|start"
Android:layout_margin="20dp"
7
Ashish Vora

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
Drv

Le problème est lié à la largeur de la vue de texte, qui s’enroule tout autour du texte et dont le centre de gravité est centré dans sa zone d’enveloppe. 

Changez la largeur en parenthèse et la gravité en centre. Cela peut vous aider

Android:layout_width="match_parent"
Android:gravity = "center"

Méthode alternative: Puisque les lignes de démarcation sont alignées au centre, elles sont séparées de la vue Texte. Vous venez d'ajouter la ligne suivante dans votre vue texte. 

  Android:layout_centerHorizontal="true"
2
abdul khan

Dans votre textview, changez ceci:

 Android:gravity = "center|left|left"

à

 Android:gravity = "center"
1
Parsania Hardik

changez s'il vous plaît le RelativeLayout en LinearLayout make gravité et le layout_gravity center

0
jisa

Pour commencer le texte à partir de la gauche et centré sur la gravité. 

Android:gravity="center|start"
0
Faris Muhammed