如果应用通过深层链接打开,则共享元素转换不起作用



>Im 添加了共享元素转换以从活动 A 启动活动 B。 正常共享元素转换正常工作,但如果应用通过深层链接启动并显示活动 A 视图,则转换不起作用。

活动 B 启动模式:单任务

第一个解决方案解决此问题的一种方法是从深层链接启动无UI活动(路由器活动(并形成此活动,您可以尝试使用动画启动。 内部路由器活动在创建中设置主题。

getTheme().applyStyle(R.style.NO_UI, true);

风格

<style name="Theme.NO_UI" parent="AppTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">true</item>
</style>

并从onCreate((启动带有动画的屏幕。

第二种解决方案在样式中定义动画: 在样式.xml中定义新的动画样式,如下所示

<style name="MyTheme.Window" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/your_desired_animation</item>

然后在主题(主题.xml(中设置此样式,如下所示:

<style name="MyTheme" parent="@android:style/Theme">
<item name="android:windowAnimationStyle">@style/MyTheme.Window</item>
</style>

然后,您可以简单地将这些主题设置为AndroidManifest中的每个活动.xml如下所示:

<activity 
android:name="your_activity" 
android:theme="@style/MyTheme">
</activity>

相关内容

  • 没有找到相关文章

最新更新