您现在的位置:首页 > >

Android 隐藏NavigationBar的Home和Recent按键

发布时间:

Android 隐藏NavigationBar的Home和Recent按键

在某些需求在当前Activity需要隐藏Home和Recent按键,只保留back按键。


实现使用StatusBarManager

StatusBarManager是标记@hide的,SDK中是不存在,无法依赖编译,源码编译可以直接import使用,依赖SDK编译需要通过反射实现。
StatusBarManager 内部定义了public常量直接使用:
public static final int DISABLE_HOME = View.STATUS_BAR_DISABLE_HOME;
public static final int DISABLE_RECENT = View.STATUS_BAR_DISABLE_RECENT;
public static final int DISABLE_BACK = View.STATUS_BAR_DISABLE_BACK;
public static final int DISABLE_CLOCK = View.STATUS_BAR_DISABLE_CLOCK;
public static final int DISABLE_SEARCH = View.STATUS_BAR_DISABLE_SEARCH;
public static final int DISABLE_NONE = 0x00000000;


使用disable(int i) 接口隐藏statusbar中某些功能


屏蔽recent 和 home
StatusBarManager mStatusBarManager = (StatusBarManager)getSystemService(STATUS_BAR_SERVICE);
mStatusBarManager.disable(StatusBarManager.DISABLE_HOME | StatusBarManager.DISABLE_RECENT);


在界面退出时需要去掉隐藏,否则在其他界面也会不显示
mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);


非源码编译通过反射。


友情链接: 团党工作范文 工作范文 表格模版 社科文档网 营销文档资料 工程文档大全