android jeu listview hauteur dynamiquement
j'ai ExpandableListview
à l'intérieur de ScrollView
et je sais que c'est pas bon, mais j'avais trop, la seule solution pour afficher toute la liste est définie par sa hauteur par le code à l'aide layoutParams
RelativeLayout.LayoutParams params = new
RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,
ListViewData.length());
cette solution est bonne, mais je ne peux pas comprendre le droit de la hauteur que je devrais mettre dans le Params
, DONC, il y a un moyen de connaître la taille réelle de la taille de la matrice
Edit:
je suis venu avec une solution à chaque fois que je développez un groupe de la liste vais modifier la hauteur pour s'adapter à la nouvelle geight
OriginalL'auteur alaa7731 | 2013-10-01
Vous devez vous connecter pour publier un commentaire.
essayez cela, Utilisez de l'Enfant basé sur la listview.
setListViewHeightBasedOnChildren()
ceci permettra de définir votre listview enfant en fonction de la hauteurpas de travail, la hauteur est plus grande qu'elle ne devrait l'être
C'est un travail, mais vous devriez être en ajouter un à l'origine de ces solutions.
Ganesan je veux utiliser le code ci-dessus pour gridview, quel est le code à remplacer pour obtenir le DividerHeight() de Grideview.Merci
Fonctionne parfaitement, merci.
OriginalL'auteur Murali Ganesan
Votre liste est effectivement inutile dans ce cas. Vous pouvez ainsi en boucle sur votre adaptateur d'objets et simplement les ajouter à une verticale LinearLayout à l'intérieur de votre ScrollView.
Dans le cas où vous ne voulez pas changer beaucoup de code:
Remplacer
ListView.setAdapter
avecSi vous utilisez déjà un OnItemClickListener ajouter, après
View v = adapter.getView(position, null, null);
suivantesDans ce cas, vous n'avez pas à vous inquiéter d'une erreur de calcul dans la hauteur.
Je pense que vous devriez créer une nouvelle question pour la modifier. Vous avez spécifiquement demandé une listview.
oui je pense :/, merci quand même
et Salut du Liban (:
C'est finalement la meilleure solution. Piratage d'un
ListView
ne fonctionnait pas dans tous les scénarios avec différents éléments que les lignes contiennent, comme la dynamique multi-ligneTextView
s ou sousListView
sOriginalL'auteur Sherif elKhatib
Essayer, cela fonctionne pour mon même problème
requestLayout() méthode est appelée sur le point de vue parce que quelque chose a changé qui a invalidé sa mise en page - les forces de la redessiner.
item.measure(0, 0);
.OriginalL'auteur SAndroidD
vous pouvez définir une variable dans le fichier de dimensions pour différentes tailles d'écran, puis de le multiplier par le nombre d'éléments de la liste que vous souhaitez afficher.
c'est ce que j'ai dit, vous avez besoin de définir des valeurs différentes pour les différentes tailles d'écran.
OriginalL'auteur Pallavi