91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-04-16 14:42:06 來源:億速云 閱讀:267 作者:小新 欄目:移動開發

小編給大家分享一下Android如何實現手機游戲隱藏虛擬按鍵,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體內容如下

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

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

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

@Override
protected 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);
}

@Override
public 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);
  }
}

以上是“Android如何實現手機游戲隱藏虛擬按鍵”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苍山县| 凤山县| 华容县| 呼图壁县| 定襄县| 宣城市| 六盘水市| 精河县| 昌邑市| 信宜市| 时尚| 建始县| 丰宁| 长汀县| 榆林市| 日喀则市| 高安市| 沅陵县| 吉木萨尔县| 德惠市| 科技| 房山区| 香港| 嘉定区| 邛崃市| 南投市| 开原市| 开鲁县| 环江| 乡城县| 湘潭市| 阳东县| 莱阳市| 神池县| 台东市| 常德市| 金湖县| 平昌县| 黎城县| 南宫市| 郑州市|