Android片段从右到左,从上到下的问题

时间:2017-06-03 11:59:57

标签: android android-fragments android-transitions

MainActivity扩展了AppCompatActivity,它只是一个容器。

MainFragment,包含工具栏,tablayout,viewpager和导航抽屉。

SecondFragment拥有自己的工具栏和另一个片段容器。

MainFragment的MainActivity如下所示。当单击选项卡片段中的一个按钮时,我希望另一个片段从右向左过渡,从左向右过渡。

此图像是从右到左的动画。主要片段在动画期间像在红色框中一样降低高度。

当点击详细信息片段时,动画从左到右,它变得有点高,并与细节片段中的状态栏重叠。

enter image description here

也是从下到上动画并从上到下动画的声音片段。当动画停止时,它会与状态栏重叠。

enter image description here

        fragmentTransaction.setCustomAnimations(R.anim.bottom_to_top_enter, R.anim.bottom_to_top_exit, R.anim.top_to_bottom_enter, R.anim.top_to_bottom_exit);

        fragmentTransaction.setCustomAnimations(R.anim.right_to_left_enter, R.anim.right_to_left_exit, R.anim.left_to_right_enter, R.anim.left_to_right_exit);

bootm_to_top_enter.xml

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

bottom_to_top_exit.xml

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

top_to_bottom_enter.xml

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

top_to_bottom_exit.xml

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

right_to_left_enter.xml

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

right_to_left_exit.xml

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

left_to_right_enter.xml

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

left_to_right_exit.xml

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

有谁知道这是怎么发生的?

非常感谢。

0 个答案:

没有答案