小编典典

使用向上/向下滑动动画显示和隐藏视图

all

我有一个LinearLayout我想显示或隐藏的Animation东西,每当我改变它的可见性时,它就会向上或向下推动布局。

我看过一些样品,但没有一个适合我的需要。

我为动画创建了两个 xml 文件,但是当我更改LinearLayout.


阅读 136

收藏
2022-03-29

共1个答案

小编典典

使用 Android 3.0 (Honeycomb) 中引入的新动画 API,创建此类动画非常简单。

向下滑动View一段距离:

view.animate().translationY(distance);

您可以稍后将View背面滑动到其原始位置,如下所示:

view.animate().translationY(0);

您还可以轻松组合多个动画。以下动画将View向下滑动它的高度并同时淡入:

// Prepare the View for the animation
view.setVisibility(View.VISIBLE);
view.setAlpha(0.0f);

// Start the animation
view.animate()
    .translationY(view.getHeight())
    .alpha(1.0f)
    .setListener(null);

然后,您可以将View背面淡出并将其滑回其原始位置。我们还设置了一个,这样我们就可以在动画完成后将背面AnimatorListener的可见性设置为:View``GONE

view.animate()
    .translationY(0)
    .alpha(0.0f)
    .setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            view.setVisibility(View.GONE);
        }
    });
2022-03-29