8
votes

GridView multiline TextView coupé

J'ai un gridview et chaque cellule a un imageview avec textview sous celui-ci. Malheureusement, si le textview a plus d'une ligne, le texte est coupé. J'ai tout essayé mais je ne peux pas trouver une solution.

Il semble que la hauteur de la ligne du gridview est le problème et non le texte réel, car vous pouvez voir la moitié du texte dans le textview . .

Voici mon code: xxx

main.xml xxx

et mon icon.xml xxx

et voici une capture d'écran: coupé multi-lignes


1 commentaires

J'ai exactement le même problème! Incroyablement ennuyeux!


3 Réponses :


2
votes

[edit1]

Vous pouvez essayer d'utiliser une relativation au lieu d'une mise en page linéaire pour l'icon.xml.

si cela ne fonctionne pas alors je voudrais alors passer à Statique Hauteur TextView. En regardant votre capture d'écran, on dirait que vous utiliserez toujours la même image, et le texte va être 1 ligne ou 2. Faites simplement la hauteur de texte statique pour permettre 2 lignes.

< fort> [original] Je pense que le problème est dans votre définition de mise en page linéaire pour votre icon.xml. Dans votre définition, vous avez la mise en page ayant "match_parent" comme paramètres de largeur et de hauteur. Vous devriez, puisque ceux-ci sont essentiellement être des sous-espions dans la grille de la GridView Soyez "Wrap_Content". Voici ce que je pense qu'il devrait être xxx


4 commentaires

Merci pour la réponse rapide! J'ai essayé cela et j'ai toujours le même résultat.


J'ai fini par suivre explicitement la hauteur du texteView dans le fichier icon.xml. J'ai essayé relative et linéaire et pas de chance. Le réseau doit avoir du mal à rendu car le premier élément de la grille est une seule ligne, cela passe probablement à la hauteur des articles.


Je pense que ce qui se passe est que les sous-méthodes globales se retrouvent avec différentes hauteurs dans la grille (c'est-à-dire que chaque élément de grille peut avoir une hauteur différente). En fait, je ne sais pas comment le code de fond de la grille de la grille est programmé, mais je me demande si vous deviez d'abord définir votre article de texte 2 lignes, si cela serait de manière appropriée ??? Il peut avoir quelque chose à voir avec elle en utilisant le premier pour la dimension de hauteur et ne jamais mettre à jour après !!!


Ouais c'est ce que je pensais aussi. Puisque le premier élément est un seul, il utilise cette hauteur pour la ligne. Je viens de le tester et c'est confirmé! Lorsqu'il est défini sur wrap_content il utilise le premier élément comme référence pour les dimensions. Je définit le texte pour remplir deux lignes et le TextView ne s'éteint pas



6
votes

J'ai résolu en utilisant, quand je définis-le xxx

dans le XML, le texteView est xxx


0 commentaires

0
votes

Changer de contrainteTlayout pour linearlayout. Assurez-vous que vous utilisez la contrainteLayout et si possible changez par linearlayout. Pour les textes longs, la contrainte n'est pas très bonne.


0 commentaires