63 votes

Italic TextView avec wrap_contents semble couper le texte sur le bord droit

    <TextView android:id="@+id/prodLbl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:textColor="#FFFFFF"
        android:textSize="30dip"
        android:textStyle="italic"
        android:text="Magnifico"
        />
 

Semble couper quelques pixels du personnage le plus à droite, au moins sur un émulateur 480x800 ou Nexus One.

Pour moi, cela ressemble à un bug, mais je ne suis qu'un débutant sous Android. J'ai essayé d'ajouter des marges à gauche et à droite, mais cela continuait à couper. En fin de compte, mon but était d'ajouter un seul espace des deux côtés du texte. Toute autre solution?

27voto

danfelabs Points 899

android:layout_width="wrap_content" , vous donne un rectangle, enveloppé de rendu de contenu. Tout va bien travailler pour le texte normal (non-italique).

Une fois que vous avez italic de la messagerie texte, le texte enveloppé va essayer de s'insérer dans le rectangle et donc la plus à droite du caractère à couper, à moins que son non-coupé-mesure (comme ., ), 1, etc.)

Solution suggérée est d'avoir un espace à la fin du texte (ou quelque chose de mieux ??)

PS: Cela s'applique à l' android:gravity="right" trop parce que le texte sera poussé à l'extrême droite. Si nous avons italic du texte, nous sommes confrontés au même problème.

25voto

Sam Points 71

Vous pouvez également utiliser le caractère Unicode no-break space (\ u00A0).

13voto

Xtera Points 111

J'ai ajouté " \" à la fin de toutes les chaînes de mon chaîne.xml. \ est le caractère d'échappement, de cette façon je pourrais venir sur le problème, mais cette solution est méchante. J'espère que cela t'aides.

7voto

Oleg Vaskevich Points 4216

Ajoutez simplement un espace supplémentaire à la fin du texte. En XML, vous devrez ajouter \u0020 à la fin, sinon XML ignore les espaces au début / à la fin par défaut.

-3voto

user750023 Points 21

Ajoutez un remplissage 3DP à droite sur votre TextView. J'ai essayé avec 1dp et 2dp, mais 3dp semblait faire l'affaire pleinement.

android:paddingRight="3dp"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X