繁体   English   中英

Android上的两个活动级别。 无缝过渡

[英]Two levels of activities on Android. Seamless transition

该应用程序包含3个活动:A,B和C。
“ B”具有style = Theme.Dialog,因此可以在屏幕的一小部分显示在“ A”和“ C”的顶部。
这样做的目的是在将“ A”替换为“ C”的同时在顶部显示“ B”,因此用户可以无缝地看到“ A”和“ C”之间的过渡。

问题

  1. 这是正确的方法吗(或者我应该使用PopupWindow等代替活动“ B”)?
  2. 启动活动“ C”时,“ B”被隐藏并再次显示(再次调用onPause / onResume),看起来像“ B”在闪烁。 有没有什么办法解决这一问题?

插图

  1. 初始状态。 启动“ A”,在“ A”之上启动“ B”
  2. “ A”结束,“ B”仍然排在最前面
  3. 启动“ C”,“ B”闪烁并移到最前面(因为launchMode="singleInstance"

在此处输入图片说明

我认为当A和B为2活动时,您无法避免对B产生“闪烁”效果。

可能的解决方案是将A和C合并在同一活动中。 管理状态以了解新活动是否处于状态A或C中。

例如:

boolean stateA = ...;
if(stateA){
 setContentView(R.layout.a);
 //use code of A
 [...]
}else{
 setContentView(R.layout.b);
 //use code of B
 [...]
}

在我看来,更简单的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM