展开 ListView 中一行的动画
Posted
技术标签:
【中文标题】展开 ListView 中一行的动画【英文标题】:Expand animation of a row in ListView 【发布时间】:2018-09-11 20:24:05 【问题描述】:我有一个ListView
与餐馆。每行都有一个展开按钮,可让您查看餐厅的菜单。我正在尝试添加平滑的展开动画。到目前为止,我有这样的东西:
TranslateAnimation expandAnimation = new TranslateAnimation(0f, 0f, -targetHeight, 0f)
expandAnimation.setDuration(300)
menuLayout.startAnimation(expandAnimation)
这比使用ValueAnimator
(这是我之前尝试过的)等实际改变高度要顺畅。
我的问题是这只会为菜单正在扩展的行设置动画。我还想用扩展菜单对行下方的可见行进行动画处理,以实现更好的视觉效果。我试图从ListView
和ListView.getChildAt()
获取它们,并在它们上应用类似的TranslateAnimation
,但如果菜单太长,这将不起作用。我相信这是因为View
被我的ListView
回收,所以有什么解决方法吗?
【问题讨论】:
【参考方案1】:看看这个库,根据你的解释,这将完美地工作 https://github.com/h6ah4i/android-advancedrecyclerview
dependencies
implementation ('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar')
transitive=true
【讨论】:
谢谢。这看起来正是我想要的! 快乐的编码伙伴?以上是关于展开 ListView 中一行的动画的主要内容,如果未能解决你的问题,请参考以下文章