android - 使用向上/向下滑动动画显示和隐藏 View

标签 android animation android-animation

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

我已经看到了一些 sample ,但没有一个适合我的需要。

我已经为动画创建了两个 xml 文件,但是当我更改 LinearLayout 的可见性时,我不知道如何启动它们。

最佳答案

使用 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);
        }
    });

关于android - 使用向上/向下滑动动画显示和隐藏 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19765938/

相关文章:

Android 像 Chrome 一样创建编辑文本动画

android - Android 中状态更改时的按钮动画

java - 获取毫秒格式

android - 如何在 BaseAdapter 上实现 getFilter()

java - 值动画器循环导致 java.lang.StackOverflowError : stack size 8MB 崩溃

Android - 丰富的图形和动画

silverlight - 在 Silverlight 中制裁剪理动画的最佳方法?

android - 先淡出,然后淡入,在 Android 中不起作用

android - 如何在 Android.mk 中正确转义散列?

java - Retrofit v2 Call.cancel() 是否删除回调?