问题描述
我有一个仅适用于纵向mod的应用程序。这是一个活动多片段应用程序。
PortraitActivityA
PortraitFragmentA
PortraitFragmentB
PortraitFragmentBA
PortraitFragmentBB
PortraitFragmentC
现在,我需要添加一些报告屏幕,但是这些屏幕仅在横向模式下可见。 这些屏幕不代表纵向屏幕,它们具有自己的数据/流。实际上,将有两个单独的应用程序,分别用于纵向和横向。我开始构建该体系结构,但对结果不满意。
PortraitActivityA
PortraitFragmentA
PortraitFragmentB
PortraitFragmentBA
PortraitFragmentBB
PortraitFragmentC
LandscapeActivityX
LandscapeFragmentX
LandscapeFragmentXX
LandscapeFragmentXY
LandscapeFragmentXZ
LandscapeActivityY
我使用android:launchMode="singleTask"
进行活动。更改方向后,我将开始适当的活动。
on PortraitActivityA:
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
startActivity(Intent(this,LandscapeActivityX::class.java))
}
on LandscapeActivityX:
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
startActivity(Intent(this,PortraitActivityA::class.java))
}
在这种设计中,我面临一些问题:
在PortraitActivityA中,用户旋转手机,在LandscapeActivityX加载之前的一会儿,PortraitActivityA的横向视图变得可见,这很烦人。
在LandscapeActivityY(PortraitActivityA-> LandscapeActivityX-> LandscapeActivityY)中,用户旋转手机,将启动PortraitActivityA。但是,如果用户再次旋转,将显示LandscapeActivityX,而不显示LandscapeActivityY。跟踪上一次打开的活动并在旋转时再次打开它是不舒服的。
那么实现此应用程序的最佳方法是什么?也许是一项大型活动,并将所有纵向/横向屏幕都保留为碎片?不建议嵌套太多的片段以提高性能,并且不干净。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)