当前位置: 首页 > news >正文

加强本单位政务网站建设昆明云南微网站制作

加强本单位政务网站建设,昆明云南微网站制作,怎么能够找到免费的网址,重庆网站建设公司Unity打包的Android默认都是全屏,如果想要在真机上显示状态栏,就需要额外设置,有两种方式: 第一种,使用Android的Java代码去控制,然后以插件的方式放到Unity中,被C#调用。第二种,使…

Unity打包的Android默认都是全屏,如果想要在真机上显示状态栏,就需要额外设置,有两种方式:

  • 第一种,使用Android的Java代码去控制,然后以插件的方式放到Unity中,被C#调用。
  • 第二种,使用Unity封装的C#代码,直接调用Android上的Java代码,去控制。

本文采用第二种方法,简单快捷,但会有几个坑,全部避开之后才能正确显示,先给正确代码,再指出踩坑点——只有一个函数,直接运行即可,内部精确控制,可以自定义。

private void ShowStatusBar()
{#if UNITY_ANDROID && !UNITY_EDITORScreen.fullScreen     = false;using var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");using var activity    = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");activity.Call("runOnUiThread", new AndroidJavaRunnable(() =>{// WINDOW_FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS |// WINDOW_FLAG_FORCE_NOT_FULLSCREEN         | // WINDOW_FLAG_LAYOUT_IN_SCREEN             | // WINDOW_FLAG_TRANSLUCENT_STATUSvar flags             = unchecked((int) 0x80000000) | 0x00000800 | 0x00000100 | 0x04000000;// VIEW_SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |// SYSTEM_UI_FLAG_LIGHT_STATUS_BAR (black text and icons)var uiOptions         = 0x00000400 | 0x00002000;        // the outer unityPlayer and activity will be disposed by other threadusing var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");using var activity    = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");                        using var window      = activity.Call<AndroidJavaObject>("getWindow");using var view        = window.Call<AndroidJavaObject>("getDecorView");// 0xAARRGGBB// window.Call("setStatusBarColor",  unchecked((int) 0xFF000000));window.Call("setFlags", flags,       unchecked((int) 0xFFFFFFFF));view  .Call("setSystemUiVisibility", uiOptions);}));#endif
}   

需要注意的地方,在于:

  1. Screen.fullScreen = false——需要设置,否则状态栏会自动隐藏。

  2. runOnUiThread——需要控制Android UI的调用,在UI线程中执行。

  3. window.setFlags——设置布局,view.setSystemUiVisibility——设置外观。

  4. unchecked((int) 0x80000000)——这个越界int类型了,C#向Java传递会有问题,需要控制一下溢出。

  5. unityPlayeractivity——在匿名函数中需要重新获取,外部的会在外层函数结束时释放资源,内部的在UI线程中执行,所以不能用闭包捕获外层的使用。

  6. setFlags的第二个mask参数——这个0xFFFFFFFF会越界int类型,需要unchecked一下。

多布局与外观的控制,查看WINDOW_FLAG_SYSTEM_UI_FLAG的设定,添加到flagsuiOptions即可,注意int类型的越界处理。

http://www.yayakq.cn/news/393907/

相关文章:

  • 济南做网站哪好wordpress获取手机号
  • 免费个人网站源码简单网页制作成品免费
  • 鼓楼微网站开发建设局是干啥的
  • 用php做购物网站上海自助建网站
  • 建设网站简单教程建设银行网站重置密码
  • 百度提交入口网站电商平台运营策略
  • 建e网室内设计效果图复式领硕网站seo优化
  • 二级建造师证书查询官网莆田seo推广公司
  • 网站建设需要学编程吗如何建设一个优秀的电商网站
  • 外贸网站源码去一品资源fullpage.js wordpress
  • 重庆建设工程信息网打不开咋回事朝阳seo网站建设
  • 正能量网站窗口免费进wordpress数据库邮箱
  • 网站开发做什么科目手游网站建设方案预算
  • 做网站的框架aspcms手机网站插件
  • 受欢迎的医疗网站建设wordpress默认主题哪个好
  • 东莞网站设计知名 乐云践新wordpress页面留言板
  • 网站备案幕布下载acaa平面设计师证书报名费
  • 推广型网站制作哪家好番禺做网站企业
  • 微信网站协议书长尾词排名优化软件
  • 网站上传源码龙岗公司网站建设
  • 婚庆网站建设的需求分析手机百度怎么解除禁止访问网站
  • 网站备案名字要怎么写开源网站建设是什么工作
  • 长沙官网网站制作公司免费贴图素材网站
  • 做图标得英文网站网站建设如何记账
  • 网站栏目描述seo优化几个关键词
  • 24手表网站网站 模板 安装
  • 哪个网站做国内销海外的十大app开发公司
  • 中天钢铁 网站建设遵义住房和城乡建设局官方网站
  • 佛山销售型网站建设php 网站缓存文件
  • 深圳网站制作十年乐云seo品牌wordpress 主机