进行新活动的最佳方法是什么,但是使它看起来像左侧的活动滑动,而新活动进入屏幕?我正在使用意图来调用新活动,如果我希望应用程序轻量级,那是这样做的方法吗?

要更好地解释:在我的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));会做的。

JEMS是正确的。默认情况下,在启动新意图时,您将获得一个滑动动画。

如果您正在寻找更多自定义动画,则可以使用 超额度转移. 。请记住,它已添加到API级别5中。 API演示 用于样本使用。

对于输入和退出动画是什么,有些困惑。对于那些仍在思考它的人,这是一个模板。

overridePendingTransition(
    enterAnimationForCalledActivity, 
    exitAnimationForCallingActivity
);

这可能应该有点清除空气。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top