unity5.6.5適配Android P劉海屏,兩側去黑邊

unity5.6.5適配Android P劉海屏,兩側去黑邊

問題:
如果不適配安卓P的話,有劉海屏的手機,劉海兩側會有黑邊,
兩側默認是不渲染的,所以要渲染出來就得先適配一下

解決方法:
我是用eclipse去對接的,在onCreate方法中,加入一下代碼即可

//Android P 就是 Android 28 對應安卓9
       if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
	        {
	            try
	            {
	                Window window = activity.getWindow();
	                //設置頁面全屏顯示
	                WindowManager.LayoutParams lp = window.getAttributes();
	                lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;                
	                //設置頁面延伸到劉海區顯示
	                window.setAttributes(lp);
	            }
	            catch (Exception e)
	            {
	            	BXLogTools.DebugLog( "0 not support layoutInDisplayCutoutMode!");
	            }
	        }

unity中設置適配劉海方式
只要在PlayerSetting勾選上Render outside safe area即可(最小的Unity版本需要Unity2018.3),該版本以下可以使用上面的方式適配
在這裏插入圖片描述

擴展:
如果項目中安卓版本不是Android p(安卓9 | target 28),則引用不到這些屬性,

更改Android 版本方法:
方法1:
找到項目根目錄下project.properties文件,打開修改target=android-28即可
方法2:
右鍵工程—>Build Path—>Configure Build Path… 在左側選擇Android,然後右邊會出現很多可以選的版本,選擇一個作爲Target SDK,點OK項目會自動以此重新編譯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章