1

Je rencontre des problèmes avec TextViews et le centrage du texte dans la zone de texte. Spécifiquement, j'ai un TextView, mais quand j'ai du texte à l'intérieur qui contient des lettres qui chevauchent la marge inférieure (c'est-à-dire p, g, q, y, etc.), ces lettres sont coupées. J'essaie de centrer le texte dans la région mais je n'ai pas eu beaucoup de chance.Problèmes avec le centrage du texte dans TextView dans une région

[Mise à jour] J'ai maintenant résolu les lettres se coupant au fond en utilisant wrap_content comme ma taille, mais j'ai trouvé un autre problème. Il apparaît maintenant que le texte est positionné bas dans la région, laissant cet écart au sommet. J'ai modifié ma disposition pour refléter la dernière (voir ci-dessous). Fondamentalement, les caractères qui se coupaient avant (g, y, j, etc) touchent la région juste en dessous, ce qui est bien, mais il semble laisser un rembourrage en haut. J'ai essayé de changer la gravité center_vertical ou un centre, mais ne pas beaucoup de chance:

Remarque, je dois travailler avec les spécifications données les tailles des caractères (ie je ne peux pas changer les valeurs de ces)

<LinearLayout 
    android:id="@+id/header" 
    android:layout_width="fill_parent" 
    android:layout_height="43.3dip" 
    android:background="@drawable/custom_bg" 
    android:orientation="horizontal"> 
    <ImageButton 
     android:id="@+id/headshot" 
     android:layout_width="43.3dip" 
     android:layout_height="43.3dip" 
     android:src="@drawable/sample" 
     android:background="@drawable/head_btn" 
     android:layout_gravity="center" /> 
    <RelativeLayout 
     android:id="@+id/name_and_email" 
     android:layout_width="230.7dip" 
     android:layout_height="43.3dip" 
     android:orientation="vertical"> 


    <TextView 
     android:id="@+id/name" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="@color/custom_color" 
     android:textSize="18.6sp" 
     android:singleLine="true" 
     android:ellipsize="end" 
     android:layout_alignParentTop="true" 
     android:gravity="center_vertical" 
     android:background="#c5ff15" 
     android:lineSpacingExtra="0sp" 
     android:text="AaBbCcDdGgJjTtYy" /> 
    <TextView 
     android:id="@+id/email" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="@color/custom_color" 
     android:textSize="13.3sp" 
     android:singleLine="true" 
     android:ellipsize="end" 
     android:layout_centerInParent="true" 
     android:layout_below="@id/name" 
     android:gravity="center_vertical" 
     android:visibility="gone" 
     android:text="[email protected]" /> 


    </RelativeLayout> 
    <ImageButton 
     android:id="@+id/headshot2" 
     android:layout_width="43.3dip" 
     android:layout_height="43.3dip" 
     android:src="@drawable/sample" 
     android:background="@drawable/head_btn2" 
     android:layout_gravity="center" /> 
</LinearLayout> 

quelqu'un peut-il aider?

MB

Répondre

1

Pourquoi essayez-vous de régler les hauteurs manuellement? Vous aurez beaucoup plus de chance en utilisant layout_height = "wrap_content". J'imagine que le problème est que votre taille de texte de 14.3sp est trop grande pour la zone que vous autorisez.

En outre, une bonne ressource pour le débogage de mises en page complexes est le HeirarchyViewer, trouvé dans le dossier tools.

+0

Merci pour votre réponse. En fait, je l'ai maintenant déplacé à wrap_content et cela a résolu le problème de descendant de texte que j'ai. Mais maintenant j'ai un autre problème: le texte lui-même a l'air d'être poussé vers le bas, laissant ce "gap" ou rembourrage au sommet de ma région. J'ai essayé de le centrer en utilisant center_vertical mais ça ne marche pas. J'ai modifié la disposition des deux TextViews ci-dessus de telle sorte que la hauteur soit maintenant wrap_content et l'androïde: gravité à "center_vertical" mais j'ai encore quelques problèmes (les g et p sont maintenant en forme, mais il semble qu'il y a un écart en haut) – mbethdev

+0

Vous devriez pouvoir éditer votre question originale avec votre xml mis à jour. Il est difficile de dire exactement ce que vous avez maintenant, mais j'essaierais d'utiliser la visionneuse de la hiérarchie pour voir qui est exactement responsable de l'espace supplémentaire. Ensuite, vous devriez être capable d'ajuster le rembourrage, etc. sur cet élément. –

+0

Ok, j'ai modifié la mise en page pour la simplifier un peu (donc si vous avez eu la chance de charger la mise en page sur Eclipse, vous ne devriez voir que le texte en haut). Autant que je sache, le padding arrive * dans la région de texte et c'est quelque chose que je devrais pouvoir contrôler dans TextView mais la gravité ne semble pas fonctionner. Je dois manquer un autre attribut mais je ne sais pas ce que c'est :( – mbethdev