片段化为活动过渡

时间:2017-05-05 09:42:26

标签: android android-fragments

我找到了很多关于如何设置转换的答案:

  • 活动< - >活性
  • 片段< - >片段

示例:http://www.androidauthority.com/using-shared-element-transitions-activities-fragments-631996/

问题:是否可以设置FragmentActivity之间的转换?

例如,我有ViewPager Fragment。我点击了Fragment中的一个按钮,想要将其动画展开为新的Activity

更新:我有Activity> ViewPager> Fragment> LinearLayout --->应该过渡到---> Activity> LinearLayout

Update2:一直在使用Shared Element Activity Transition教程。我的Activity > ViewPager > Fragment元素如下所示:

<LinearLayout
            android:id="@+id/ll_entries"
            style="@style/Container.Entries"
            android:layout_weight="0"
            android:transitionName="from_entry_to_entries_list"
            android:visibility="invisible">

            <Button
                android:id="@+id/btn_entries"
                style="@style/ButtonStyle.Flat"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>

我收到Activity个元素:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ll_entries"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:transitionName="from_entry_to_entries_list">
</LinearLayout>

我的styles.xml

<!-- Theme: App -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

...

    <!-- Transitions: Enable window content transitions -->
    <item name="android:windowContentTransitions">true</item>
    <!-- Transitions: specify transitions -->
    <item name="android:windowEnterTransition">@transition/from_entry_to_entries_list</item>
    <item name="android:windowExitTransition">@transition/from_entry_to_entries_list</item>

我的from_entry_to_entries_list.xml

<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
    <changeTransform/>
</transitionSet>

问题:转化显示为alpha in / out而不是LinearLayout被重新缩放为Activity

1 个答案:

答案 0 :(得分:1)

在这种情况下,它的工作方式与使用共享视图的活动转换相同。

查看本教程:Shared Element Activity Transition

在你的情况下, (Activity > ViewPager > Fragment > LinearLayout)LinearLayout(或其子代)将具有android:transitionName="my_transition"和第二个活动中另一个视图的相同属性。