我知道很多篇文章都描述了如何为listView项目的扩展/折叠设置动画,但我根本无法让它工作: - (
我有一个listView,其中每个项目都包含一个隐藏的LinearLayout元素ll(View.GONE),我想使用动画展开/折叠ll。我的问题 - 显然 - 是ll的可变高度。 ll的高度设置为wrap_content,因为它包含描述和一些图像。
我认为这是一个挑战,因为我开始将ll的可见性设置为View.GONE。如果我在开始动画之前将其更改为View.VISIBLE,则该区域会立即展开,文本会动画下来。如果我在动画后改变可见性,我就不会获得动画效果。
这是我onItemClickListener的一个片段:
LinearLayout llMatchInfo = (LinearLayout) view.findViewById(R.id.matchInfo);
//llMatchInfo.setVisibility(llMatchInfo.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
Animation animation = AnimationUtils.loadAnimation(ctx, (llMatchInfo.getHeight() == 0) ? R.anim.down_from_top : R.anim.up_from_bottom);
llMatchInfo.startAnimation(animation);
任何人都可以了解如何使用height wrap_content和初始可见性View.GONE来完成动画元素的动画?
如果我错过了一个明显的答案,我真的很抱歉,但我觉得我已经尝试了所有的一切......: - /
提前致谢
答案 0 :(得分:0)
您可以使用此库:
https://github.com/traex/ExpandableLayout
它可以节省您的生命和时间。 这很简单,您只需要在布局上添加自定义列表视图,使用海关实现创建适配器,setAdapter和voalá。
我只是想帮忙......