3

我有一个 Android 应用程序,其中九个活动不加载布局文件。他们的视图是扩展视图类的私有类。活动在运行时构造视图对象并使用这些对象而不是布局文件。我遇到的问题是创建这些活动的视图在切换到其他视图时应该左右滑入和滑出。我以前使用过 ViewFlipper,但在这里我无法满足我的需要,因为视图鳍状肢采用布局文件而不是活动。是否有可能在不解决切换到布局文件的情况下解决我的问题?

4

2 回答 2

8

试试那些

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:interpolator="@android:anim/linear_interpolator"
        android:toXDelta="-100%"
        android:toYDelta="0" />
</set>

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromXDelta="100%"
        android:fromYDelta="0"
        android:interpolator="@android:anim/linear_interpolator"
        android:toXDelta="0"
        android:toYDelta="0" />
</set>

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromXDelta="-100%"
        android:fromYDelta="0"
        android:interpolator="@android:anim/linear_interpolator"
        android:toXDelta="0"
        android:toYDelta="0" />
</set>

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:interpolator="@android:anim/linear_interpolator"
        android:toXDelta="100%"
        android:toYDelta="0" />
</set>

并且在代码中做 StartActivity()

overridePendingTransition(R.animator.anim_left, R.animator.anim_right);

然后在完成时()

overridePendingTransition(R.animator.anim_left, R.animator.anim_right);
于 2013-07-25T08:22:36.403 回答
7
this.overridePendingTransition(android.R.anim.slide_in_left,
                android.R.anim.slide_out_right);

把它写在你的意图下面。

于 2013-07-25T08:20:31.893 回答