当设备orintation是横向时,活动转换无法正常工作

时间:2017-02-14 16:26:41

标签: android activity-transition

我的应用有两项活动,例如ActivityA和ActivityB。我在xml文件中为ActivityB创建了Enter / Return转换。在这些过渡中,FloatingActionButton将从屏幕的右边缘滑入/滑出。当设备方向为纵向时,一切都将正常工作,但当设备方向为横向时,FloatingActionButton不会滑入。

RES /过渡V21 / enter.xml:

<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:transitionOrdering="together">

<fade>
    <targets>
        <target android:excludeId="@android:id/statusBarBackground" />
        <target android:excludeId="@android:id/navigationBarBackground" />
    </targets>
</fade>
<slide android:slideEdge="right">
    <targets>
        <target android:targetId="@+id/fabFavorite" />
    </targets>
</slide>

RES /过渡V21 / return.xml

<transitionSet xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:transitionOrdering="together">

<fade>
    <targets>
        <target android:excludeId="@android:id/statusBarBackground" />
        <target android:excludeId="@android:id/navigationBarBackground" />
    </targets>
</fade>
<slide android:slideEdge="right">
    <targets>
        <target android:targetId="@+id/fabFavorite" />
    </targets>
</slide>

RES /值-V21 / styles.xml

<style name="AppTheme.ActivityA" parent="@style/AppTheme">
    <item name="android:windowContentTransitions">true</item>
</style>

<style name="AppTheme.ActivityB" parent="@style/AppTheme">
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowEnterTransition">@transition/enter</item>
    <item name="android:windowReturnTransition">@transition/return</item>
</style>

然后我将这些主题添加到AndroidManifest中的相应活动。

最后在ActivityA中为onClickListener:

ActivityOptionsCompat activityOptions =
                         ActivityOptionsCompat.makeSceneTransitionAnimation(this);
Intent intent = new Intent(this, ActivityB.class);
ActivityCompat.startActivity(this, intent, activityOptions.toBundle());

结果:(当设备方向为横向时,FloatingActionButton没有滑动效果)

enter image description here

0 个答案:

没有答案