android - 两个 Android 活动之间的转换未按预期运行
问题描述
ActivityA
我在两个活动和之间设置了一些转换ActivityB
,但它们的行为不如预期。Android API 为 22(5.0 Lollipop)。使用了活动之间的缓慢转换,因为两个活动都有 web 视图,它们的布局需要几秒钟才能稳定。
ActivityA
是一个NativeActivity
并且有两种方法用于在从 C++ 代码调用的活动之间进行切换。
class ActivityA extends NativeActivity
{
...
protected void startActivityA()
{
startActivity(getApplicationContext(), ActivityA.class);
overridePendingTransitions(R.anim.slow_fade_in, R.anim.slow_fade_out);
}
protected void startActivityB()
{
startActivity(getApplicationContext(), ActivityB.class);
overridePendingTransitions(R.anim.slow_fade_in, R.anim.slow_fade_out);
}
...
}
ActivityB
是一个Activity
。
res/anim/show_fade_in.xml
过渡是:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:factor="1.0"
android:fillAfter="true"
android:fillBefore="true" android:fillEnabled="true"
android:duration="5000" />
</set>
res/anim/slow_fade_out.xml
过渡是:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:factor="1.0"
android:fillAfter="true"
android:fillBefore="true" android:fillEnabled="true"
android:duration="5000" />
</set>
当ActivityA.startActivityB()
从 C++ 代码调用时,我注意到发生了两件事:
- 慢慢淡化为浅灰色
ActivityA
。 ActivityB
稳定的webview突然出现。
我不明白为什么#2 是突然出现而不是缓慢消失。
当ActivityA.startActivityA()
从 C++ 代码调用时,我所看到的只是ActivityB
从ActivityA
. 我不明白为什么我得到一个快速的交叉淡入淡出而不是编程的缓慢淡入淡出。
为什么我可能得不到预期的结果?
解决方案
推荐阅读
- jquery - Script1014:IE 11 用 jQuery.ajax 替换 fetch 的无效字符
- python - 使用 map plus 函数在列表中移动值
- paypal - 如何在 cs-cart 上获得一键式 PayPal 结帐按钮?
- c# - WPF - 用于 16 位深度灰度监视器的专用图像显示
- java - 如何在 Java 中将图像转换为形状?
- azure - 尝试在 Azure DevOps Server 2019 中创建团队项目集合时出错
- excel - 如何检查列表框的一行是否为空
- javascript - 将我的代码转换为使用 ie11 并收到错误
- struct - 可区分联合的结构属性
- linux - 复制文件而不删除目标功能