Android碎片从右到左的翻译

3

我希望你能为我提供从右到左的翻译,当一个片段消失时,显示另一个片段。

这是我需要翻译的内容:

ft.setCustomAnimations(R.anim.lefttoright,R.anim.righttoleft);

我的翻译在左右。

(注:这是一句没有意义的话,仅用于测试翻译功能。)
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false" >

    <translate
        android:duration="700"
        android:fromXDelta="-100%"
        android:fromYDelta="0%"
        android:toXDelta="0%"
        android:toYDelta="0%" />

</set>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false" >

    <translate
        android:duration="700"
        android:fromXDelta="0%"
        android:fromYDelta="0%"
        android:toXDelta="100%"
        android:toYDelta="0%" />

</set>

但是它没有运行,只有从左到右的翻译运行...为什么?

ft.setCustomAnimations(R.anim.righttoleft,R.anim.lefttoright); - Terril Thomas
你想要在后台进行翻译吗? - Terril Thomas
2个回答

9

slide1.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="350"
    android:fromXDelta="100%"
    android:toXDelta="0%" />

slide2.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="350"
    android:fromXDelta="0"
    android:toXDelta="-100%" />

Java代码

ft.setCustomAnimations(R.anim.slide1, R.anim.slide2);

不操作,它会执行相同的操作,我得到了相同的结果... 它从左向右滑动。 - deveLost
应用程序在动画后崩溃 :( NulLPointerException at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3197) - Harneet Kaur

1
anim 目录中

slide_left_in.xml

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

slide_left_out.xml

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

slide_right_in.xml

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

slide_right_out.xml

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

values 目录下。

integers.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="default_transaction_animation_duration">350</integer>
</resources>

在Java中。
fragmentTransaction.setCustomAnimations(R.anim.slide_right_in, R.anim.slide_left_out,
                R.anim.slide_left_in, R.anim.slide_right_out);

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接