Android中的新活动“从侧面输入”
-
24-10-2019 - |
题
进行新活动的最佳方法是什么,但是使它看起来像左侧的活动滑动,而新活动进入屏幕?我正在使用意图来调用新活动,如果我希望应用程序轻量级,那是这样做的方法吗?
要更好地解释:在我的Android手机上,我可以用右边的家用狂热的家用景色,然后从左侧进入朋友流并在屏幕上进行。我想在我的应用程序中使用ButtonClicks进行操作,这是我追随的“滑动”。谢谢!
解决方案
在Android OS 2.1或以后,我认为您可以使用 OverridePendingTransition() 提供您要寻找的活动动画之间的过渡的方法。
首先,在 /res/anim/. 。这是一个名字的 right_slide_out.xml :
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator">
<translate
android:fromXDelta="0"
android:toXDelta="100%p"
android:duration="500"
/>
</set>
另一个叫 right_slide_in.xml :
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator">
<translate
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="700"
/>
</set>
然后,当您启动新活动时,请使用以下方式使用OverridePendingTransition方法。
startActivity(intent);
overridePendingTransition (R.anim.right_slide_in, R.anim.right_slide_out);
这应该处理开始活动的过渡动画。
对于反向,当该活动完成并回到原始活动时,它会更加雾气。
如果您有一些UI控件结束该活动并调用Activity.finish(),则可以在此之后添加OverRidePendingTransition()。
要处理用户通过按下后按钮结束活动的情况,请使用以下内容:
@Override
public void onBackPressed()
{
this.finish();
overridePendingTransition (R.anim.right_slide_in, R.anim.right_slide_out);
}
其他提示
您可以使用left_slide_out.xml(只需更改josh的right_slide_out.xml中的toxdelta即可读取-100%p),以使旧活动在左侧消失(并且在两个动画上也具有相同的持续时间)。
是的,使用意图是启动另一个活动的标准方法,通常会提到滑动功能。例如起步性(新意图(this,mynextactivity.class));会做的。
对于输入和退出动画是什么,有些困惑。对于那些仍在思考它的人,这是一个模板。
overridePendingTransition(
enterAnimationForCalledActivity,
exitAnimationForCallingActivity
);
这可能应该有点清除空气。