如何在Android中给出从上到下的动画?
Posted
技术标签:
【中文标题】如何在Android中给出从上到下的动画?【英文标题】:How to give top to bottom animation in Android? 【发布时间】:2011-12-06 22:20:27 【问题描述】:当我进入下一个活动时,我能够从下到上动画,但是现在当我按下回时,我使用相同的代码从上到下动画,但它总是从下到上,所以我的问题是 当我在 android 设备上按下返回按钮时如何从上到下给出动画? 请在下面找到我的代码。
我在使用Intent
从一个Activity
转换到另一个时使用它。
overridePendingTransition( R.anim.slide_in_up, R.anim.slide_out_up );
xml 是:slide_in_up.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="100%p" android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime"/>
slide_out_up.xml 是
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0%p" android:toYDelta="-100%p"
android:duration="@android:integer/config_longAnimTime"/>
【问题讨论】:
【参考方案1】:只需在 slide_out_up.xml 中将 -100 更改为 100(去掉减号)
@Override
public void onBackPressed()
finish();
overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim);
【讨论】:
请参考***.com/questions/9306513/… 嗨 hesam..如果您曾经使用过蓝牙工作,请参考上面的链接。通过蓝牙配对 2 台设备后,如何开始使用授权请求交换配置文件信息的通知。 .并且在接受它之后只交换个人资料信息..我被困在这里 3 天请帮助...谢谢 嗨 shyam,我看到了你的链接,但不幸的是我不知道。让我搜索一下,如果我得到结果然后我会告诉你。对不起:) 好吧 hesam 肯定... ..你帮助我...所以我很感谢你.. :)【参考方案2】:在我的平板电脑 4.0.3 上工作。
slide_out_up.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromYDelta="0%p"
android:toYDelta="-100%p" />
</set>
slide_in_up:xml:
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromYDelta="-100%p"
android:toYDelta="0%p" />
</set>
style.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="DialogAnimationOutUpInUp">
<item name="android:windowEnterAnimation">@anim/slide_in_up</item>
<item name="android:windowExitAnimation">@anim/slide_out_up</item>
</style>
</resources>
【讨论】:
【参考方案3】:我刚刚用另外两个类似的 xml 文件实现了它
向上滑动,100 到 0 和 0 到 -100
向下滑动 -100 到 0 和 0 到 100
效果很好。
【讨论】:
【参考方案4】:您可以覆盖后退按钮按下行为并设置所需的适当动画,如下所示:
@Override
public void onBackPressed()
finish();
overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim);
更改overridePendingTransition
处的动画,使其适合您想要的。
【讨论】:
我和你说的一样,但它给出相同的动画意味着从下到上但是当我按下返回按钮时我想要从上到下的动画,我反转了 overridePendingTransition(R.anim.slide_out_up, R .anim.slide_in_up); 我和你做的一样,除了我的“slide_out”动画是android:fromYDelta="0%p" android:toYDelta="100%p"
。它在这里工作得很好。当您要调用下一个活动时,您是否将额外的Intent.FLAG_ACTIVITY_NO_ANIMATION
添加到您的Intent
?有动画发生吗?以上是关于如何在Android中给出从上到下的动画?的主要内容,如果未能解决你的问题,请参考以下文章