activity全屏实现沉浸式效果,并且单独触摸不会弹出虚拟按键的方法
方法一:
设置activity的theme属性隐藏标题栏和状态栏,然后在onWindowFocusChanged方法中调用方法
mLCDChangeLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
mLCDChangeLayout可以是该activity布局中的任意一个控件,前一个flags主要实现隐藏NavigationBar的功能,后一个flags实现触摸不会弹出NavigationBar,只有下拉状态栏等一些系统手势时才会弹出。
方式二:
activity属性不用设置,直接在activity中加入如下方法:
@Override
publicvoidonWindowFocusChanged(booleanhasFocus){
super.onWindowFocusChanged(hasFocus);
if(hasFocus){
hideNavigationBar();
}
}
privatevoidhideNavigationBar(){
//TODOAuto-generatedmethodstub
finalViewdecorView=getWindow().getDecorView();
finalintflags=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(newView.OnSystemUiVisibilityChangeListener(){
@Override
publicvoidonSystemUiVisibilityChange(intvisibility){
if((visibility&View.SYSTEM_UI_FLAG_FULLSCREEN)==0){
decorView.setSystemUiVisibility(flags);
}
}
});
}
然后在onWindowFocusChanged方法中调用hideNavigationBar的方法即可,原理与方式一类似。
以上这篇activity全屏实现沉浸式效果,并且单独触摸不会弹出虚拟按键的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 祝女儿六一祝福语简短
11 国庆节日简短祝福语
12 给孩子开学祝福语简短
13 虎年贺卡和祝福语简短
14 谢谢学校老师祝福语简短
15 女孩结婚祝福语大全简短
16 除夕祝福语大全简短年轻
17 对老人新年祝福语简短
18 五一快乐祝福语简短老师