Unity3D 去掉部分Android机型的底栏
2017-01-17 21:21
381 查看
参考 :
http://blog.csdn.net/liang_704959721/article/details/51377450
在用untiy开发应用时候发现一个问题,有几款手机有工具栏,不能实现全屏,
![](https://img-blog.csdn.net/20160511191231455?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这个手机截图就是有工具栏的华为手机,我们怎么才能在自己的app中实现全屏。
用如下代码,拖到启动后的第一个场景的gameobject中即可:
[csharp] view
plain copy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
public class HideAndroidButtons : MonoBehaviour
{
#if UNITY_ANDROID && !UNITY_EDITOR
const int SYSTEM_UI_FLAG_IMMERSIVE_STICKY = 4096;
const int SYSTEM_UI_FLAG_HIDE_NAVIGATION = 2;
const int SYSTEM_UI_FLAG_FULLSCREEN = 4;
AndroidJavaObject decorView;
void Start()
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = jc.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject window = activity.Call<AndroidJavaObject>("getWindow");
decorView = window.Call<AndroidJavaObject>("getDecorView");
TurnImmersiveModeOn();
}
void OnApplicationFocus(bool focusStatus) {
if(focusStatus){
TurnImmersiveModeOn();
}
}
void TurnImmersiveModeOn()
{
decorView.Call("setSystemUiVisibility", SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION | SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
void OnDestroy()
{
decorView.Dispose();
}
#endif
}
![](https://img-blog.csdn.net/20160511191945686?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
全屏效果
http://blog.csdn.net/liang_704959721/article/details/51377450
在用untiy开发应用时候发现一个问题,有几款手机有工具栏,不能实现全屏,
这个手机截图就是有工具栏的华为手机,我们怎么才能在自己的app中实现全屏。
用如下代码,拖到启动后的第一个场景的gameobject中即可:
[csharp] view
plain copy
![](https://code.csdn.net/assets/CODE_ico.png)
public class HideAndroidButtons : MonoBehaviour
{
#if UNITY_ANDROID && !UNITY_EDITOR
const int SYSTEM_UI_FLAG_IMMERSIVE_STICKY = 4096;
const int SYSTEM_UI_FLAG_HIDE_NAVIGATION = 2;
const int SYSTEM_UI_FLAG_FULLSCREEN = 4;
AndroidJavaObject decorView;
void Start()
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = jc.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject window = activity.Call<AndroidJavaObject>("getWindow");
decorView = window.Call<AndroidJavaObject>("getDecorView");
TurnImmersiveModeOn();
}
void OnApplicationFocus(bool focusStatus) {
if(focusStatus){
TurnImmersiveModeOn();
}
}
void TurnImmersiveModeOn()
{
decorView.Call("setSystemUiVisibility", SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION | SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
void OnDestroy()
{
decorView.Dispose();
}
#endif
}
全屏效果
相关文章推荐
- android部分机型(HTC D610) menu键的显示问题
- Android AudioRecord 部分机型无法采集音频
- Android--利用相机或相册截取用户头像(解决了miui无法截取,以及部分机型拍照无返回Uri)【下】
- android 动态权限 部分机型适配记录
- Android打包部分机型问题,游戏界面在锁屏界面之上的解决方案
- 云测网络:京东Android客户端表现尚可,部分机型使用存在风险
- Android 7.0 WebView 部分机型打不开
- Android--利用相机或相册截取用户头像(解决了miui无法截取,以及部分机型拍照无返回Uri)【下】
- 关于Android WebView不支持location.href打开的解决方法 小米部分机型
- Unity3d中文在部分机型显示不全解决方案
- Android--利用相机或相册截取用户头像(解决了miui无法截取,以及部分机型拍照无返回Uri)【上】
- android开发 更新下载apk部分机型文件写入失败(Permission denied)
- Android--利用相机或相册截取用户头像(解决了miui无法截取,以及部分机型拍照无返回Uri)【上】
- Android 部分机型有时UDP消息发送失败
- 解决android部分机型拍照后被旋转的问题
- 基于JavaScript代码去掉H5页面中的头尾及广告部分(支持 Android 和 iOS)
- android部分机型选择图片提示错误
- Android下Shape设置stroke描边部分机型不显示边框线
- Android解决部分机型获取不到系统拍照图片,图库图片问题的解决
- 剖析Picasso加载压缩本地图片流程(解决Android 5.0部分机型无法加载本地图片的问题)