J'ai un simple ListView
liste de résultats dans android. Cliquez sur chaque élément, je voudrais le faire glisser vers le bas développer et afficher le contenu. Est-il un moyen facile de le faire dans android?
Toute aide sera appréciée.
OriginalL'auteur Priyank | 2010-04-24
Ici est un exemple de Udinic. Il avait élément de liste développer l'animation et le besoin de l'API de niveau 4+
Fondamentalement, vous avez besoin d'une animation en classe
Et utiliser ceci :
ExpandAnimationExample
Remarque, cet exemple est encore buggé. github.com/Udinic/SmallExamples/issues/6 Comme vous le faites défiler l'affichage de la liste en haut et en bas, la développer/réduire état gâchis.
toutes les solutions à l'foiré unis? Apparemment, il y a un problème lorsque nous scrollup de sorte que le point de vue shouls glisser vers le bas maintenant, pour cela nous changer la visibilité ainsi que le anim. coups de pied, mais il y a un scintillement, la vue se ferme et puis s'ouvre à nouveau jusqu'à glisser vers le bas 🙁
Comme j'ai du mal à trouvé des bibliothèques open source qui implémente extensible ListView correctement. Je décide de mettre en œuvre mon propre en utilisant LinearLayout + ScrollView + Affichage personnalisé, sans l'aide de la liste. Il fonctionne pour moi comme je n'ai que ~10 éléments. Je crois que la nouvelle
RecyclerView
, une meilleure versionListView
, peut atteindre même effet plus facile. Mais, je n'ai pas essayé.OriginalL'auteur Nam Trung
découvrez ce réponse. de plus que vous avez à utiliser le tweed animation. de vérifier la ApiDemos/Animation2 Exemples. et aussi de voir l'anim dossier dans ApiDemos. il aide beaucoup pour moi. en fonction de votre question slide_top_to_bottom aidera.
OriginalL'auteur Praveen
La façon la plus simple est d'utiliser un ObjectAnimator
Cela va changer maxLines de votre TextView à 40 ans, plus de 200 millisecondes.
Méfiez-vous de l'utilisation de yourTextView.getLineCount() pour déterminer le nombre de lignes de l'étendre à d', car il l'habitude de donner un chiffre exact jusqu'à ce que, après une passe de mise en page. Je recommande que vous venez de coder en dur une maxLines valeur qui est plus long que vous vous attendez à ce que le texte ne le serais jamais. Vous pouvez aussi estimer à l'aide de yourTextView.longueur() divisé par le plus petit nombre de caractères que vous auriez jamais attendre par ligne.
OriginalL'auteur Amagi82