cocos2d Android 适配华为导航栏

原创 2016年08月30日 10:31:54

华为手机有底部安卓三个按钮的导航栏,可以收起来,如果不进行处理,导航栏收起来后会导致游戏不全屏显示,因为在进入游戏的时候cocos计算屏幕分辨率(不含导航栏),后续不会重复计算

解决方案是在游戏启动的时候强制隐藏底部导航栏,让游戏强制填满整个屏幕,或者游戏从后台切进来后也隐藏导航栏

@SuppressLint("NewApi")
public void hideNavigationBar() {
    int uiFlags = 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 // hide nav bar
        | View.SYSTEM_UI_FLAG_FULLSCREEN; // hide status bar


    if( android.os.Build.VERSION.SDK_INT >= 19 ){ 
        uiFlags |= 0x00001000;    //SYSTEM_UI_FLAG_IMMERSIVE_STICKY: hide navigation bars - compatibility: building API level is lower thatn 19, use magic number directly for higher API target level
    } else {
        uiFlags |= View.SYSTEM_UI_FLAG_LOW_PROFILE;
    }

    getWindow().getDecorView().setSystemUiVisibility(uiFlags);
}

需要在onCreate  onResume  和onWindowFocusChanged 中调用上面方法:

protected void onCreate(Bundle savedInstanceState){
    hideNavigationBar();
    super.onCreate(savedInstanceState);
}

@Override
public void onResume() {
    Log.e(TAG, "onResume called");
    hideNavigationBar();
    super.onResume();
    LCMSDK.resume(this);
}

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus); 
    if( hasFocus ) {
        hideNavigationBar();
    }
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Cocos2D 如何做 Android 适配

我们知道Cocos2D 是跨平台的 ( Android, iOS, BlackBerry ), 因此它必须把自己适配到不同平台上, 这些适配包括: 1) 屏幕显示 2) 用户输入 3) 进程主循...
  • span76
  • span76
  • 2013-04-21 18:08
  • 3095

cocos2d-js 系列[1] 屏幕的适配

屏幕的适配 与Cocos2d-js第一次亲密的接触!

最完整的让cocos2d游戏适配IPAD Retina的教程

暂时在网上还没找到一个让cocos2d开发的IPhone游戏快速地适应IPAD2 Retina模式的教程。确实,如果在项目开展初期没有规划好“一个app,多处适配”的话,到了开发末期才来做分辨率适配是...

【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏

最近书已经进入印刷了,预订签名的童鞋没想到会上三位数,非常感谢大家一如既往的支持与鼓励; 今天为大家介绍利用cocos2d开发中一些细节的三个问题; 首先介绍第一点:如何开启高清模...

最完整的让cocos2d游戏适配IPAD Retina的教程

暂时在网上还没找到一个让cocos2d开发的IPhone游戏快速地适应IPAD2 Retina模式的教程。确实,如果在项目开展初期没有规划好“一个app,多处适配”的话,到了开发末期才来做分辨率适配是...

cocos2d-js 3.0 屏幕适配方案 分辨率适应

cocos2d-js 3.0 屏幕适配方案 分辨率适应 首先介绍一个api和相应的参数: cc.view.setDesignResolutionSize(1024, 768, cc.R...

【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏

李华明Himi 原创,转载务必在明显处注明:【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/463.html     最近书已经进...

【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏

今天为大家介绍利用cocos2d开发中一些细节的三个问题; 首先介绍第一点:如何开启高清模式,大家都知道iphone4的分辨率是960*640,比之前的480*320正好大了一倍,那么如果想测试在高...

Android开发之屏幕适配的自定义滑动导航栏

1、结果预览:

Android开发之屏幕适配的自定义矩形导航栏

1、效果预览:
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)