首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android沉浸式模式转换

Android沉浸式模式转换
EN

Stack Overflow用户
提问于 2014-12-09 14:01:14
回答 1查看 1.4K关注 0票数 3

我有一个android应用程序,它对所有活动都采用沉浸式模式--所以它是一个全屏应用程序。

我有一个扩展所有其他活动的BaseActivity类。在此活动中,我调用以下内容以启用全屏/沉浸式

HelmiBlankActivity:

代码语言:javascript
运行
复制
private boolean apiLowerImmersive = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

   if(Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
        apiLowerImmersive = true;
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }

}


@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);

  if(hasFocus && !apiLowerImmersive ) {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE);
    }
}

在活动中,问题是:当打开一个新的活动(每个意图)时,操作栏/标题栏会显示很短的时间,然后再次隐藏--这看起来有点滞后/错误。

应用程序还有一个主题: styles.xml:

代码语言:javascript
运行
复制
<style name="FullscreenTheme" parent="android:Theme.Holo.Light">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>

我也尝试过应用android:Theme.Holo.Light.NoActionBar --在过渡期间没有成功。我在堆栈溢出上找不到任何东西(顺便说一句,这是一个伟大的社区,帮助我解决了许多问题)或在互联网上的任何其他地方,我会感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-12 13:41:02

如果将这个片段放入onCreate()方法中,您的活动将在已经隐藏的条形图中打开。

代码语言:javascript
运行
复制
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE);

您还可以为旧的SDK添加条件。这个设置的唯一问题是,一旦我滑动到显示栏,他们就不会再隐藏.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27380752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档