Question

J'ai un GridView qui affiche des images, qui sont, malheureusement, de tailles différentes. Ils sont représentés entre deux lignes de texte:

text1.1                text1.2
ImageView(IMAGE1)      ImageView(IMAGE2)
text2.1                text2.2

text3.1
ImageView(IMAGE3)
text4.1

etc ....

Si IMAGE1 est la même hauteur que IMAGE2, tout va bien, mais si IMAGE1 est plus que IMAGE2, text2.1 se déroulera dans text3.1 (rembourrage ne semble pas aider beaucoup, car il y a trop quand les images sont de la même hauteur).

Je sais qu'il ya une façon d'étirer les images du ImageView ils sont à la même hauteur, mais est-il possible de conserver les images comme il est et régler la hauteur de ligne en quelque sorte?

Était-ce utile?

La solution

Vous êtes en contrôle sur vos hauteurs de ligne, en vertu de ce que vous mettez en eux. Étant donné que vos cellules semblent avoir plus d'un widget, ils sont probablement enveloppés dans un LinearLayout ou quelque chose. Définissez votre LinearLayouts être une certaine hauteur, et les lignes seront tous cette hauteur.

Personnellement, je pense que vous devriez être redimensionner vos images si vous allez avoir du texte ci-dessus et en dessous de chaque image sur une base par cellule.

Autres conseils

Utilisez drawable comme arrière-plan sur la mise en page qui est votre cellule de la grille et définir ce drawable avec:

<size android:height="<some height>" />

Par exemple:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
<solid android:color="#ffffff"/>
<size android:height="60dip" />
</shape>

Voici une autre solution que les éléments de pré-mesure et définit la hauteur de chaque cellule à la hauteur maximum de cette ligne.

GridView les lignes qui se chevauchent: comment faire la hauteur de ligne correspondent le plus haut point

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top