在Android应用程序中创建下拉动画的最佳方法是什么?

13

我刚开始学习 Android 开发,基本上我有 5 个矩形按钮堆叠在一起。

当我点击其中一个(假设是顶部的一个)时,我希望其他 4 个向下滑动,并在它们之间显示另一组按钮或其他内容。

并且我希望过渡效果是滑动而不仅仅是出现。

如何实现这个功能或使用哪些函数有什么建议吗?


你成功了吗? - Rishabh Srivastava
1个回答

34

首先,您需要像这样在XML中定义动画:

从顶部滑下:

<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <translate android:fromYDelta="-100%" android:toYDelta="0%" android:duration="1000"/>
</set>

从屏幕底部滑向上方:

<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <translate android:fromYDelta="0%" android:toYDelta="-100%" android:duration="1000"/>
</set>

您可以像这样加载动画:

Animation slide = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_down);

然后您可以像这样将动画应用于您的View:

view.startAnimation(slide);

你如何设置最初会下滑的“隐藏”视图?你将高度设置为0还是将可见性设置为“GONE”? - lostintranslation
可见性将会是“GONE”。 - Rishabh Srivastava
1
这个程序会将视图从屏幕顶部滑下来。如果我想让起始点在操作栏底部,该怎么办? - NinjaCoder
1
这只是将视图从底部向上翻译,并且在首次看到动画后,所有视图内的空白占位符都会发生在动画视图中。这不是下滑动画。它是翻译视图。对于真正的下滑,我认为需要做更多的工作。 - Vlado Pandžić
请问,我需要创建另一个 XML 文件吗?如果需要,在哪个文件夹下创建? - Thorvald
@SígvardrÓlavrsson 动画文件夹。 - Rishabh Srivastava

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接