动态显示和隐藏NavigationBar
修改地方在NavigationBarFragment.java类中
public static View create(Context context, FragmentListener listener) {WindowManager.LayoutParams lp = new WindowManager.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.TYPE_NAVIGATION_BAR,WindowManager.LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH| WindowManager.LayoutParams.FLAG_SPLIT_TOUCH| WindowManager.LayoutParams.FLAG_SLIPPERY,PixelFormat.TRANSLUCENT);lp.token = new Binder();lp.setTitle("NavigationBar");lp.windowAnimations = 0;View navigationBarView = LayoutInflater.from(context).inflate(R.layout.navigation_bar_window, null);navigationBarView.setVisibility(View.GONE);if (DEBUG) Log.v(TAG, "addNavigationBar: about to add " + navigationBarView);if (navigationBarView == null) return null;FragmentHostManager fragmentHost = FragmentHostManager.get(navigationBarView);NavigationBarFragment fragment = new NavigationBarFragment();//替换成新的Fragmentcontext.getSystemService(WindowManager.class).addView(navigationBarView, lp);replaceFragment(fragmentHost,fragment,TAG);fragmentHost.addTagListener(TAG, listener);//移除指定的Fragmentcontext.getSystemService(WindowManager.class).removeView(navigationBarView);removeFragment(fragmentHost,fragment);fragmentHost.removeTagListener(TAG, listener);return navigationBarView;}//移除指定的Fragmentprivate static void removeFragment(FragmentHostManager fragmentHost,Fragment fragment){fragmentHost.getFragmentManager().beginTransaction().remove(fragment).commit();}// 清空fragmentList的所有Fragment,替换成新的Fragment,注意Fragment里面的坑private static void replaceFragment(FragmentHostManager fragmentHost,Fragment fragment, String TAG){fragmentHost.getFragmentManager().beginTransaction().replace(R.id.navigation_bar_frame, fragment, TAG).commit();}
动态显示和隐藏NavigationBar相关推荐
- java屏蔽虚拟按键代码_Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP)/动态显示和隐藏NavigationBar...
场景分析, 为了完全实现沉浸式效果,在进入特定的app后可以将导航栏移除,当退出app后再次将导航栏恢复.(下面将采用发送广播的方式来移除和恢复导航栏) ps:不修改源码的情况下,简单的沉浸式效果实现 ...
- Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP)/动态显示和隐藏NavigationBar...
场景分析, 为了完全实现沉浸式效果,在进入特定的app后可以将导航栏移除,当退出app后再次将导航栏恢复.(下面将采用发送广播的方式来移除和恢复导航栏) ps:不修改源码的情况下,简单的沉浸式效果实现 ...
- vue动态点击切换css样式且子元素动态显示和隐藏
vue动态点击切换css样式并子元素动态显示和隐藏 <template><div v-for="i in 5" class="el-personal&q ...
- vue底部选择器_vue实现动态显示与隐藏底部导航的方法分析
vue实现动态显示与隐藏底部导航的方法分析 本文实例讲述了vue实现动态显示与隐藏底部导航的方法.分享给大家供大家参考,具体如下: 在日常项目中,总有几个页面是要用到底部导航的,总有那么些个页面,是不 ...
- Android动态显示和隐藏状态栏
简述: View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性. setSy ...
- WPF:动态显示或隐藏Listview的某一列
这几天做项目,需要做个listview满足能够动态显示或隐藏某些列,由于自己是菜鸟水平,查了两天资料也没有想出解决办法.就在我山穷水尽的时候看到了Mgen的一篇博客,给了我很大启发,所以我也决定把自己 ...
- 安卓动态修改系统状态栏背景和文字颜色,以及动态显示或隐藏系统状态栏
关于动态修改系统状态栏背景.字体和图标颜色,以及动态显示或隐藏系统状态栏,一直都是都是许多项目的常规需求.但是,由于不同版本间的兼容性差异,网上的实现方法多种多样.并且,许多方法都会存在这样.那样的不 ...
- android APP隐藏NavigationBar,通过修改framework隐藏/显示 navigation bar
android APP隐藏NavigationBar 1. 简介 在Android4.4.2(KITKAT<Build.VERSION_CODES.KITKAT>)之前,只能设置: 1)V ...
- android 7.0平台客制化虚拟导航按键(隐藏NavigationBar,上滑显示NavigationBar)
如图,需求是增加一个按钮可以隐藏NavigationBar,上滑显示NavigationBar. 参考文章: Android 8.1平台客制化虚拟导航按键 Android 7.0 虚拟按键(Navig ...
最新文章
- Java进程占用内存超高分析
- SCM基础之过程描述
- android判断点击次数_Android应用统计-使用时长及次数统计(一)
- asp net html.dropdownlist viewdata 指定选中项_ASP.NET Web API基础(05)--- 基于JWT的身份认证 - 高原秃鹫...
- scrapy配合selenium爬取需要反复操作同一个动态页面的方法,解决点击“下一页”但是URL相同的网站
- 二月草的博客开通啦……
- MyMathLib系列(行列式计算2)
- JavaWeb学习总结(一)JavaWeb入门与Tomcat
- 【疑点】当子元素全部浮动时,怎么解决父元素塌陷的问题?
- 《西部世界》后续,研究人类学能让AI拥有灵魂?
- 经典:基因组测序数据从头拼接或组装算法的原理
- Android 自定义一个Toast
- Linux 多个留后门姿势
- 英语单词词根词缀和词性转换
- java .gml格式_GML格式错误
- android简单网页浏览器的开发
- SpringBoot“互联网+”居家养老服务平台微信小程序的设计与实现源码
- C#对接条码电子秤拉取和下发数据
- 【Dart】一门为跨端开发而生的编程语言
- IT项目经理必须清楚和把握IT项目管理的弹性特点