在Android 6. +上从右到左的Android开放活动

时间:2016-06-15 10:02:29

标签: android

对于这个问题或能力,我找到了多个解决方案,但我不知道为什么这些解决方案无法在我的设备上运行。设置一些XML动画以具备此功能后,我的活动仍然是从左侧开始而不是从右到左:

right_to_left.xml:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
    <translate
        android:duration="500"
        android:fromXDelta="100%"
        android:fromYDelta="0%"
        android:toXDelta="0%"
        android:toYDelta="0%" />
</set>

exit.xml:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
    <translate
        android:duration="500"
        android:fromXDelta="0%"
        android:fromYDelta="0%"
        android:toXDelta="-100%"
        android:toYDelta="0%" />
</set>

2 个答案:

答案 0 :(得分:1)

此代码适用于我检查其工作 使用以下代码进行公开活动。

Intent intent = new Intent(this, Example.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);

在动画文件夹中添加两个xml文件。

<强> slide_in_right.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="1000"
        android:fromXDelta="100%"
        android:toXDelta="0%" />
    <alpha
        android:duration="200"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />
</set>

<强> slide_out_left.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="1000"
        android:fromXDelta="0%"
        android:toXDelta="-100%" />
    <alpha
        android:duration="200"
        android:fromAlpha="1.0"
        android:toAlpha="0.0" />
</set>

答案 1 :(得分:1)

试试这个,

将这两个xml保存在anim文件夹中,

slide_in_left.xml

<?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:toXDelta="0%" >
</translate>

stay.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromYDelta="0%p"
    android:toYDelta="0%p" />

在startactivity()

之后写
overridePendingTransition(R.anim.slide_in_left, R.anim.stay);