在ListView中展开行的动画

时间:2018-04-02 15:46:44

标签: java android listview android-studio

我有一家餐馆ListView。每行都有一个展开按钮,可以让您看到餐厅的菜单。我正在尝试添加一个平滑的扩展动画。到目前为止,我有这样的事情:

TranslateAnimation expandAnimation = new TranslateAnimation(0f, 0f, -targetHeight, 0f)
expandAnimation.setDuration(300)
menuLayout.startAnimation(expandAnimation)

实际上用ValueAnimator(这是我以前尝试过的)改变高度比这更光滑。

我的问题是,这只会激活其菜单正在扩展的行。我想通过扩展菜单为行下方的可见行设置动画,以获得更好的视觉效果。我尝试使用ListViewListView.getChildAt()获取它们并对它们应用类似的TranslateAnimation但如果菜单太长则不起作用。我相信这是因为View正在回复ListView,所以有没有解决办法?

1 个答案:

答案 0 :(得分:1)

看看这个图书馆,根据你的解释,这将完美地运作 https://github.com/h6ah4i/android-advancedrecyclerview

dependencies {
    implementation ('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar'){
        transitive=true
    }
}