国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現手機游戲隱藏虛擬按鍵

2019-12-12 00:32:47
字體:
來源:轉載
供稿:網友

手機游戲實現Android隱藏虛擬按鍵,供大家參考,具體內容如下

在華為等型號的手機會有虛擬按鍵,在進入游戲的時候,需要全屏隱藏這個按鍵,并在下拉狀態欄的時候,會重新呼出虛擬按鍵。

游戲的加載過程中,初始化檢查更新,然后進入到游戲畫面,實際上是android的2個view的切換。

其中MainActivity中,在onCreate()方法中添加如下函數并且復寫一個方法就可以了。

@Overrideprotected void onCreate(Bundle icicle) {  hideNavigationBar();}// 隱藏虛擬按鍵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);}@Overridepublic void onWindowFocusChanged(boolean hasFocus) {  super.onWindowFocusChanged(hasFocus);  if( hasFocus ) {    hideNavigationBar();  }}

另外,在切換到GameView之后,發現隱藏是隱藏了,但是虛擬按鍵那一條是灰色的,游戲的渲染區域并不包含哪塊區域,所以覺得是渲染區域大小在隱藏了虛擬按鍵之后,這個大小并沒有正確,應該取得的時候屏幕真正的分辨率。
下面的方法是獲取屏幕真正的分辨率,然后渲染區域是全屏,這樣就可以全屏顯示了。

private Point getDisplay(MainActivity context){  DisplayMetrics metrics = new DisplayMetrics();  Display display = context.getWindowManager().getDefaultDisplay();  display.getMetrics(metrics);  DisplayMetrics dm = new DisplayMetrics();  @SuppressWarnings("rawtypes")  Class c;  try {    c = Class.forName("android.view.Display");    @SuppressWarnings("unchecked")    Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);    method.invoke(display, dm);    return new Point(dm.widthPixels, dm.heightPixels);  } catch (Exception e) {    return new Point(dm.widthPixels, dm.heightPixels);  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扎兰屯市| 巴中市| 闽侯县| 九寨沟县| 普兰店市| 和平区| 大安市| 东兴市| 丹棱县| 吉林市| 寿宁县| 双城市| 娱乐| 平泉县| 思茅市| 卢氏县| 泰来县| 山东省| 福清市| 弋阳县| 绥化市| 赣榆县| 武胜县| 景东| 宣武区| 兴安县| 昌都县| 北安市| 晋州市| 盐城市| 灵台县| 福泉市| 新宁县| 天全县| 怀安县| 曲水县| 西乡县| 房山区| 宁陕县| 鹤庆县| 阳春市|