源码

首页 » 归档 » 源码 » android-即使从横向旋转到垂直,细节片段也会…

android-即使从横向旋转到垂直,细节片段也会…


在一个Activity中,我们称其为MasterActivity,我只想在横向模式下加载媒体播放的细节片段.准备就绪后,媒体将自动启动.

主从流程设置:我有两个xml,activity_master和activity_master.xml(land).标识为“ detail_container”的容器视图仅位于景观xml中.具有细节容器的landscape xml的目的是在同一屏幕上显示宽度大于900的主细节.

在onCreate()中,这是我通过检查“ detail_container”是否存在来确定屏幕方向的方式,如下所示:

if (findViewById(R.id.detail_container) != null) {
// The detail container view will be present only in the
// large-screen layouts (res/values-w900dp).
// If this view is present, then the
    mTwoPane = true;
}

以及在活动的OnCreate()中,当活动处于两个窗格模式(大屏幕布局上的风景)时,我具有以下代码来自动加载片段

if (mTwoPane) {
    getSupportFragmentManager().beginTransaction()
    .replace(R.id.detail_container,
             someFragment.newInstance(MEDIA_URI))
    .commit();
}

问题:

当我垂直开始活动时,该片段未加载(预期).

当我在横向启动活动时,将加载(预期)片段.

在屏幕旋转时,片段被破坏(预期,播放停止并且仅在onDestory()中释放资源);

问题是当我在横向中开始活动但将其旋转到垂直方向时,片段重新启动,并且媒体播放再次开始(意外).

我的目标:我希望片段在大屏幕设备上处于横向时自动加载,在设备旋转时,片段不应再次加载.

编辑:在垂直模式下,片段不应自动加载,用户将单击主活动,打开明细活动,并且明细活动将承载明细片段.

我应该怎么做?先感谢您

额外信息:测试物理设备是运行Android 5.0 API 21的7英寸平板电脑,模拟器中也存在此问题.

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/android-jishiconghengxiangxuanzhuandaochuizhixijiepianduanyehui.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:11月 12, 2019 at 01:07 下午

热评文章