activity全屏實現(xiàn)沉浸式效果,并且單獨觸摸不會彈出虛擬按鍵的方法
方法一:
設(shè)置activity的theme屬性隱藏標(biāo)題欄和狀態(tài)欄,然后在onWindowFocusChanged方法中調(diào)用方法
mLCDChangeLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
mLCDChangeLayout可以是該activity布局中的任意一個控件,前一個flags主要實現(xiàn)隱藏NavigationBar的功能,后一個flags實現(xiàn)觸摸不會彈出NavigationBar,只有下拉狀態(tài)欄等一些系統(tǒng)手勢時才會彈出。
方式二:
activity屬性不用設(shè)置,直接在activity中加入如下方法:
@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if( hasFocus ) { hideNavigationBar(); } } private void hideNavigationBar() { // TODO Auto-generated method stub final View decorView = getWindow().getDecorView(); final int flags = 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 | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; decorView.setSystemUiVisibility(flags); decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { @Override public void onSystemUiVisibilityChange(int visibility) { if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { decorView.setSystemUiVisibility(flags); } } }); }
然后在onWindowFocusChanged方法中調(diào)用hideNavigationBar的方法即可,原理與方式一類似。
以上這篇activity全屏實現(xiàn)沉浸式效果,并且單獨觸摸不會彈出虛擬按鍵的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何使用Flutter實現(xiàn)58同城中的加載動畫詳解
這篇文章主要給大家介紹了關(guān)于如何使用Flutter實現(xiàn)58同城中加載動畫詳?shù)南嚓P(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10解決Could not find com.android.tools.build:gradle:3.0.0
這篇文章主要介紹了在Android Studio升級時碰到Could not find com.android.tools.build:gradle:3.0.0問題的解決方法,需要的朋友跟隨小編一起看看吧2021-08-08Android禁止EditText自動彈出軟鍵盤的方法及遇到問題
這篇文章主要介紹了Android禁止EditText自動彈出軟鍵盤的方法及遇到問題,需要的朋友可以參考下2018-07-07Android模擬實現(xiàn)華為系統(tǒng)升級進(jìn)度條
這篇文章主要介紹了如何通過Android模擬實現(xiàn)華為在系統(tǒng)升級時顯示的進(jìn)度條。文中的實現(xiàn)過程講解詳細(xì),感興趣的小伙伴可以動手試一試2022-01-01