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)文章
Android 實現(xiàn)定時器的四種方式總結(jié)及實現(xiàn)實例
這篇文章主要介紹了Android 實現(xiàn)定時器的四種方式總結(jié)及實現(xiàn)實例的相關(guān)資料,這里對定時器進行詳解,并附實例代碼,需要的朋友可以參考下2016-12-12
第1個Android應(yīng)用程序 Android制作簡單單頁導(dǎo)航
這篇文章主要為大家詳細介紹了第1個Android應(yīng)用程序PhonewordApp:Android制作簡單單頁導(dǎo)航,感興趣的小伙伴們可以參考一下2016-06-06
Android RecycleView滑動停止后自動吸附效果的實現(xiàn)代碼(滑動定位)
這篇文章主要介紹了Android RecycleView滑動停止后自動吸附效果的實現(xiàn)代碼(滑動定位),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
android開發(fā)教程之handle實現(xiàn)多線程和異步處理
這篇文章主要介紹了android的handle實現(xiàn)多線程和異步處理的示例,大家參考使用吧2014-01-01

