0
votes

Le texte dans Android TextView doit commencer dans la première ligne

J'utilise un constrainedLayout avec certains TextViews. Lorsque le texte de textViews couvre deux lignes, il semble correct. Mais lorsque le texte ne parle qu'une seule ligne, le texte ne commence pas dans la première ligne. J'ai ajouté une capture d'écran: entrez la description de l'image ici

Donc, fondamentalement, ce que je veux, c'est décaler les lignes de texte marquées en jaune d'un niveau au-dessus de sorte que la marge entre les mots d'étiquette (Nez, Finition) et le texte ne soit pas aussi élevée. Il doit ressembler aux textViews "Taste". Voici le code XML des TextViews:

<TextView
        android:id="@+id/tvNoseLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:gravity="center"
        android:textSize="16sp"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.489"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.36"
        android:textStyle="bold"
        android:text="@string/Nose"
        />

    <TextView
        android:id="@+id/tvNoseDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        
        android:gravity= "fill_vertical"
        android:textSize="14sp"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.489"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.41"

        />

    <TextView
        android:id="@+id/tvTasteLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="16sp"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.489"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.47"
        android:textStyle="bold"
        android:text="@string/Taste"
        />

    <TextView
        android:id="@+id/tvTasteDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="14sp"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.489"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.52"

       />

    <TextView
        android:id="@+id/tvFinishLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="16sp"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.489"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.58"
        android:textStyle="bold"
        android:text="@string/Finish"
       />

    <TextView
        android:id="@+id/tvFinishDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="14sp"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.489"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.63"

        />

Avez-vous une idée de comment je peux faire ça? J'ai essayé différentes gravités (start, fill_vertical) mais cela n'a pas aidé. J'apprécierais chaque commentaire.


0 commentaires

3 Réponses :


0
votes

vous devriez écrire ceci dans votre TextView:

android: gravity = "start" ou android: gravity = "start | center"


3 commentaires

et écrivez ceci: android: layout_width = "match_parent"


Merci Majid pour votre réponse. Malheureusement, le texte n'a été déplacé vers la gauche que lors de l'utilisation de vos commandes conseillées (ce que je ne veux pas). La position verticale est restée inchangée. Je veux changer la position VERTICALE et non horizontale.


quand vous avez une ligne, que voulez-vous exactement qu'il se passe?



0
votes

vous pouvez utiliser textAlignment pour obtenir ce que vous voulez et changer le android:layout_width en match_parent.

<TextView
    android:id="@+id/tvNoseDescription"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAlignment="center" // change the value to whatever you want ( ctrl + space ).
    ...
    ...


1 commentaires

Merci Omar pour votre réponse. Malheureusement, cela n'a pas fonctionné, je ne peux que décaler la position horizontale du texte mais pas la verticale. Je veux changer la position VERTICALE et non horizontale.



1
votes

Votre mise en page repose trop sur l' app:layout_constraintVertical_bias . Pour obtenir la distribution verticale souhaitée, il est préférable d'utiliser les chaînes ConstraintLayout. Pour votre mise en page, je suggère d'utiliser une chaîne emballée verticale et de supprimer le biais vertical et les gravités. Quelque chose comme ça:

<androidx.constraintlayout.widget.ConstraintLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/tvNoseLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/Nose"
        android:textSize="16sp"
        android:textStyle="bold"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toTopOf="@+id/tvNoseDescription"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_chainStyle="packed" />

    <TextView
        android:id="@+id/tvNoseDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:gravity="fill_vertical"
        android:text="Soft and rounded with fruity notes of red apple"
        android:textSize="14sp"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toTopOf="@+id/tvTasteLabel"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvNoseLabel" />

    <TextView
        android:id="@+id/tvTasteLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/Taste"
        android:textSize="16sp"
        android:textStyle="bold"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toTopOf="@+id/tvTasteDescription"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvNoseDescription" />

    <TextView
        android:id="@+id/tvTasteDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:gravity="center"
        android:text="A fine Sherried character, fruity aromas balanced with rich chovolate"
        android:textSize="14sp"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toTopOf="@+id/tvFinishLabel"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/tvTasteLabel" />

    <TextView
        android:id="@+id/tvFinishLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/Finish"
        android:textSize="16sp"
        android:textStyle="bold"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toTopOf="@+id/tvFinishDescription"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvTasteDescription" />

    <TextView
        android:id="@+id/tvFinishDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:gravity="center"
        android:text="Warm and lingering. Sweet and spoicy"
        android:textSize="14sp"
        app:fontFamily="@font/paprika"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvFinishLabel" />

</androidx.constraintlayout.widget.ConstraintLayout>

ce qui donne cette apparence:

entrez la description de l'image ici


1 commentaires

Merci beaucoup Chéticamp pour votre réponse. Je l'ai accepté et je l'ai voté.