我有一家餐馆ListView
。每行都有一个展开按钮,可以让您看到餐厅的菜单。我正在尝试添加一个平滑的扩展动画。到目前为止,我有这样的事情:
TranslateAnimation expandAnimation = new TranslateAnimation(0f, 0f, -targetHeight, 0f)
expandAnimation.setDuration(300)
menuLayout.startAnimation(expandAnimation)
实际上用ValueAnimator
(这是我以前尝试过的)改变高度比这更光滑。
我的问题是,这只会激活其菜单正在扩展的行。我想通过扩展菜单为行下方的可见行设置动画,以获得更好的视觉效果。我尝试使用ListView
从ListView.getChildAt()
获取它们并对它们应用类似的TranslateAnimation
但如果菜单太长则不起作用。我相信这是因为View
正在回复ListView
,所以有没有解决办法?
答案 0 :(得分:1)
看看这个图书馆,根据你的解释,这将完美地运作 https://github.com/h6ah4i/android-advancedrecyclerview
dependencies {
implementation ('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar'){
transitive=true
}
}