如何实现导航栏上划显示,触摸隐藏,扫码枪也不能使其展示
简介
公司最近在做零售相关的业务,其中不需要使用软键盘,同时还需要隐藏导航栏,
但是可以上划展示导航栏,一半这种展示时间大约是4s,就自动缩回去了,这个可是一个非常头痛的需求你
第一步
将AndroidManifest.xml中的设置默认的软键盘不显示属性 android:windowSoftInputMode="stateHidden|stateAlwaysHidden"
第二步
需要设置状态栏的动态显示,首先给一个直接代码
public static void hideSystemUI(View decorView) {
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN //用于全屏展示状态栏
| View.SYSTEM_UI_FLAG_FULLSCREEN //用于全屏展示状态栏
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION //使得虚拟导航栏隐藏,用户可以从屏幕下边缘“拖出”且不会再次消失,同时activity界面会被挤压
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION //效果使得导航栏出现的时候不会挤压activity高度,导航栏会覆盖在activity之上
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY //它被称作“粘性”的沉浸模式,这个模式会在状态栏和导航栏显示一段时间后,自动隐藏(你可以点击一下屏幕,立即隐藏)。同时需要重点说明的是,这种模式下,状态栏和导航栏出现的时候是“半透明”状态,
| View.SYSTEM_UI_FLAG_IMMERSIVE //4.4以后这个属性是用来实现“沉浸式”效果的
);
}
这个是控制导航栏动态显示的核心代码
但是该怎么使用呢?
我们需要在BaseActivity中两处设置这个控制代码,一个是Activity创建,二个是全局的焦点控制
@Override
public void onCre

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



