2017-09-02 15 views
0

J'ai simple LinearLayout et j'essaie de faire ressemble à ceci: look2fond de gravité TextView ne fonctionne pas

Au lieu de cela il ressemble: look1

Mon xml est:

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     > 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="miasto" 
      android:textSize="10sp"/> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:text="ulica" 
      android:textSize="15sp"   
      android:gravity="bottom" 
      /> 
    </LinearLayout> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:textSize="30sp" 
     android:text="22" 
     android:gravity="bottom"/> 

</LinearLayout> 

Pourquoi la gravité = "bas" ne fonctionne pas? Essayez de faire en sorte que la hauteur de votre textview correspond à celle de match_parent.

+0

La réponse est ici: https://stackoverflow.com/questions/4768738/android-textview-remove-spacing-and-padding-on-top-and-bottom –

Répondre

1

0

ajouter à textViews

android:textAlignment="gravity" 
0

Vous définissez ce texte voir une largeur de wrap_content cela signifie, ce que jamais le texte est, la vue de prendre la taille du texte et LinearLayout, la gravité par défaut est center

Ainsi, le changement

android:layout_height="wrap_content" 

à

android:layout_height="match_parent" 

En attendant, juste pour votre information, gravity est la façon dont le texte s'alignera dans le TextView. Le TextView étant dans wrap_content ne fait rien, comme le TextView est exactement la taille du texte.

layout_gravity est la façon dont le TextView s'alignera dans son parent, dans votre cas dans le LinearLayout.

+0

Ai-je raté quelque chose? Le TextView sur la droite a la hauteur match_parent. Et je connais la différence entre la gravité et la gravité. Si text_size est identique - les deux textviews en bas sont dans la même ligne, mais sinon ... –

+0

C'est parce que vous avez 'android: layout_height =" wrap_content "' pour le 'LinearLayout'. Changez cela en 'match_parent' et voyez si cela fonctionne. – Lal

+0

Je sais quelque chose sur Android et j'ai passé quelques heures à essayer de comprendre cela. Bien sûr, j'ai testé de nombreuses configurations. Aucun d'entre eux ne travaille. S'il vous plaît coller le code de travail si vous en avez. –

0

si la taille du texte n'a pas d'importance, modifiez simplement la taille du texte:

<TextView 
 
     android:id="@+id/textView4" 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="match_parent" 
 
     android:gravity="bottom" 
 
     android:text="22" 
 
     android:textSize="18sp"/>

Je l'essai et son ok.

+0

La taille du texte est essentielle ici. Comme une solution de contournement, j'utilise simplement un remplissage sur la vue de texte en bas à gauche. Le remplissage intérieur de police est le problème ici. Vérifiez le lien que j'ai ajouté dans le commentaire à ma question. –