Android實現(xiàn)手機游戲隱藏虛擬按鍵
手機游戲?qū)崿F(xiàn)Android隱藏虛擬按鍵,供大家參考,具體內(nèi)容如下
在華為等型號的手機會有虛擬按鍵,在進(jìn)入游戲的時候,需要全屏隱藏這個按鍵,并在下拉狀態(tài)欄的時候,會重新呼出虛擬按鍵。
游戲的加載過程中,初始化檢查更新,然后進(jìn)入到游戲畫面,實際上是android的2個view的切換。
其中MainActivity中,在onCreate()方法中添加如下函數(shù)并且復(fù)寫一個方法就可以了。
@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之后,發(fā)現(xiàn)隱藏是隱藏了,但是虛擬按鍵那一條是灰色的,游戲的渲染區(qū)域并不包含哪塊區(qū)域,所以覺得是渲染區(qū)域大小在隱藏了虛擬按鍵之后,這個大小并沒有正確,應(yīng)該取得的時候屏幕真正的分辨率。
下面的方法是獲取屏幕真正的分辨率,然后渲染區(qū)域是全屏,這樣就可以全屏顯示了。
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); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android百度地圖應(yīng)用之基本地圖功能實現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Android百度地圖應(yīng)用之基本地圖功能實現(xiàn)的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-06-06Android開發(fā)實現(xiàn)在TextView前面加標(biāo)簽示例
這篇文章主要為大家介紹了Android開發(fā)實現(xiàn)TextView前面加標(biāo)簽示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Android webview手動校驗https證書(by 星空武哥)
有些時候由于Android系統(tǒng)的bug或者其他的原因,導(dǎo)致我們的webview不能驗證通過我們的https證書,最明顯的例子就是華為手機mate7升級到Android7.0后,手機有些網(wǎng)站打不開了,而更新了webview的補丁后就沒問題了2017-09-09Android應(yīng)用中使用ListView來分頁顯示刷新的內(nèi)容
這篇文章主要介紹了Android應(yīng)用中使用ListView來分頁顯示刷新的內(nèi)容的方法,展示了一個點擊按鈕進(jìn)行刷新的實例以及下拉刷新分頁顯示的要點解析,需要的朋友可以參考下2016-04-04Android Cocos Creator游戲開發(fā)平臺打包優(yōu)化實現(xiàn)方案
Cocos Creator是一款輕量、高效、免費開源的跨平臺游戲引擎,同時也是實時3D內(nèi)容創(chuàng)作平臺,不僅支持2D、3D的游戲開發(fā),同時在HMI、IoT、XR、虛擬人偶等領(lǐng)域,均可提供一套完善的行業(yè)解決方案2022-11-11Android 檢測鍵盤顯示或隱藏鍵盤的實現(xiàn)代碼
這篇文章主要介紹了Android 檢測鍵盤顯示或隱藏鍵盤的實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-07-07