Il existe de nombreuses solutions à ce problème. Je choisirai de cliquer sur Développer pour ajouter tous les éléments restants à l'adaptateur et simplement le mettre à jour. Si vous souhaitez le réduire, supprimez simplement les éléments qui doivent être réduits de l'adaptateur. Ici, vous devez effectuer un traitement supplémentaire sur l'événement de clic du dernier élément.
Récupérez les layoutParams de ce gridView, puis définissez sa hauteur, similaire à ceci ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams(); layoutParams.height = 300;
Généralement, une animation de transition sera utilisée pour un tel effet. Le principe est le même, sauf que la chose faite une fois est répétée plusieurs fois (la hauteur devient progressivement plus grande)
En fait, cet effet n'a pas besoin d'être fait avec GridView. D'après votre description, il n'est pas nécessaire de glisser, cela peut donc être fait avec GridLayout. Après avoir cliqué, supprimez le dernier et ajoutez-le, puis ajoutez et. fermez-le - - La logique n'est ni compliquée ni claire.
Notre société implémente cette exigence en définissant un attribut mark pour enregistrer l'état développé et réduit, et en réécrivant la valeur de retour de getItemCount() de l'adaptateur. Selon cet attribut mark, 8 est renvoyé lorsqu'il est réduit et 8 est renvoyé lorsqu'il est réduit. élargi. Nombre total
Il existe de nombreuses solutions à ce problème. Je choisirai de cliquer sur Développer pour ajouter tous les éléments restants à l'adaptateur et simplement le mettre à jour. Si vous souhaitez le réduire, supprimez simplement les éléments qui doivent être réduits de l'adaptateur. Ici, vous devez effectuer un traitement supplémentaire sur l'événement de clic du dernier élément.
Récupérez les layoutParams de ce gridView, puis définissez sa hauteur, similaire à ceci
ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams();
layoutParams.height = 300;
Généralement, une animation de transition sera utilisée pour un tel effet. Le principe est le même, sauf que la chose faite une fois est répétée plusieurs fois (la hauteur devient progressivement plus grande)
En fait, cet effet n'a pas besoin d'être fait avec GridView. D'après votre description, il n'est pas nécessaire de glisser, cela peut donc être fait avec GridLayout. Après avoir cliqué, supprimez le dernier et ajoutez-le, puis ajoutez et. fermez-le - - La logique n'est ni compliquée ni claire.
Notre société implémente cette exigence en définissant un attribut mark pour enregistrer l'état développé et réduit, et en réécrivant la valeur de retour de getItemCount() de l'adaptateur. Selon cet attribut mark, 8 est renvoyé lorsqu'il est réduit et 8 est renvoyé lorsqu'il est réduit. élargi. Nombre total