Android 禁止下拉状态栏和底部导航栏的控制


  • Android禁止下拉状态栏

1.在manifest 文件中添加权限:

<uses-permission android:name="android.permission.STATUS_BAR" /> 
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/> 

2.在java文件中添加StatusBarManager 实例

mStatusBarManager = (StatusBarManager) mContext.getSystemService(Context.STATUS_BAR_SERVICE); 

3. 禁止下拉状态栏

mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND); 

4. 解除禁止

mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);


Android 隐藏or 显示底部导航栏

private void setNavigationBarVisibility(boolean visible) {
        int flag = 0;
        if (!visible) {
            flag = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
        }

        getWindow().getDecorView().setSystemUiVisibility(flag);
    }
Note:
SYSTEM_UI_FLAG_HIDE_NAVIGATION: View has requested that the system navigation be temporarily hidden.
 
  

Immersive模式

Android 4.4引入了一组新的布局标志可用于标记系统UI的可见性。从4.0开始,应用有隐藏状态栏和软导航按钮功能,并暂时使用View.SYSTEM_UI_FLAG_FULLSCREENView.SYSTEM_UI_FLAG_HIDE_NAVIGATION标志为“精益回”体验,视频内容会占用整个显示屏幕。然而,这种模式不是交互式的,而只要用户点击屏幕上任意位置UI控件立刻返回(你的应用程序没有收到的一个事件)。

为了增强这一点,在Android的4.4添加了View.SYSTEM_UI_FLAG_IMMERSIVEView.SYSTEM_UI_FLAG_IMMERSIVE_STICKY。在与所提及的场景中使用这些标志,可以在同一个系统中隐藏用户界面,当与用户的全屏应用程序内容进行交互时候还是保持这种方式




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值