【问题标题】:Android fragment translation right to leftAndroid片段翻译从右到左
【发布时间】:2014-04-01 09:32:08
【问题描述】:

当一个片段消失以显示另一个片段时,我想要从右到左进行翻译。

我有这个要翻译:

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);
  • 你想要背面的翻译吗?

标签: android android-fragments translation slide


【解决方案1】:

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);

【讨论】:

  • 不,它在做同样的事情,我有同样的结果..它从左向右滑动。
  • 应用程序在动画后崩溃:(NulLPointerException at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3197)
【解决方案2】:

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目录中

整数.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);

【讨论】:

    猜你喜欢
    • 2021-01-26
    • 2014-10-10
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多