gpt4 book ai didi

Android场景转场: Custom interpolator?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:04:13 24 4
gpt4 key购买 nike

我启动了一个带有共享元素的场景转换的 Activity,它工作正常。

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), sharedView, "sharedView");
Intent intent = new Intent(getActivity(), NewActivity.class);
ActivityCompat.startActivity(getActivity(), intent, options.toBundle());

元素从旧 Activity 到新 Activity 平滑地动画。但是,我想稍微更改一下过渡动画的方式,尤其是插值器。它似乎在使用默认的平滑插值器,但我想使用新的 Material 快出慢入插值器,但我不知道如何指定它。

我应该怎么做才能覆盖默认转换?

最佳答案

如果你还没有弄清楚:

在你的 /res/transition/ 中创建一个新的 transitionSet,定义你的 transition 标签及其属性和插值器,然后将它应用到你在 中的 Activity 样式/res/values-v21/styles.xml

NewActivity 示例

  • /res/transition/ 中创建一个 new_activity_transition.xml,其中包含以下示例转换标签及其插值器:

    <transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
    <changeImageTransform
    android:interpolator="@android:interpolator/fast_out_slow_in"
    />
    <arcMotion
    android:interpolator="@android:interpolator/fast_out_slow_in"/>
    <changeBounds
    android:duration="300"
    android:interpolator="@android:interpolator/fast_out_slow_in"/>
    </transitionSet>
  • 然后在你的/res/values-v21/styles.xml中将其设置为共享元素enter transition:

    <style name="NewActivity">
    <item name="android:windowSharedElementEnterTransition">@transition/new_activity_transition</item>
    </style>
  • 不要忘记在您的 AndroidManifest.xml 中设置 Activity 主题:

    <activity
    android:name="{path to}.NewActivity"
    android:theme="@style/NewActivity">
    </activity>

关于Android场景转场: Custom interpolator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29868304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com