我有一个 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/