【问题标题】:Fragment into Activity transition片段到 Activity 过渡
【发布时间】:2017-05-05 09:42:25
【问题描述】:

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

  • 活动 活动
  • 片段 片段

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

问题:是否可以在Fragment 和Activity 之间设置转换?


例如,我有一个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"/>

我接收Activitys 元素:

<?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 输入/输出,而不是 LinearLayout 被重新缩放为 Activity。

【问题讨论】:

  • 有可能。它将与 Activity 转换相同。如果需要扩展类型的动画,请使用共享视图
  • @VishnuSP 我已经更新了我的问题以清楚地指出目标。

标签: android android-fragments


【解决方案1】:

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

看看这个教程:Shared Element Activity Transition

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

【讨论】:

  • 好吧,我首先使用的是本教程。虽然我已将转换类型设置为changeTransform - 转换仍然显示一个简单的 alpha 输入/输出(而不是调整共享元素的大小)。有什么建议吗?
  • 您是否修改了教程中给出的 AppTheme?请分享更多信息和代码。
  • 用详细信息更新了我的问题。
  • 代码看起来是正确的。你能分享启动第二个活动的代码吗?
猜你喜欢
  • 1970-01-01
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
  • 2016-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多