怎么去掉navigation bar 高度bar

Navigation Bar开机后显示和隐藏 (一) - chenqian_lj的专栏
- 博客频道 - CSDN.NET
2014人阅读
现在要说的显示与隐藏,并不是指在开机的时候,这可以在xml中设置,不详述
NavigationBar可以在开机后根据需要显示也隐藏,比如在打开某个应用隐藏,打开另一应用显示
修改步骤:
1) ActivityStack.java中的&resumeTopActivityLocked&是所有启动应用的启动的入口,所以在这里添加进入的入口
2) 在PhoneWindowManager.java中的&mHasNavigationBar 是显示与否的标志,肯定要修改,而这里的修改应该在WindowManagerService.java中进行,因为,WindowManagerService中的mPolicy是操作PhoneWindowManager的接口,这样不会破坏封装,所以1)中要添加调入到WMS中的接口,WMS然后在调入PWM
3) PWM(PhoneWindowManager)中有mStatusBarService,之所以用这个服务,是因为不破坏封装和同步
4) StatusBarManagerService 中添加显示消失的接口,同理在Client端也要添加相应的显示和消失接口,
具体&CommandQueue和PhoneStatusBar中
5)&PhoneStatusBar中添加显示和消失的逻辑
public&void&showNavigationBar()&{
&&&&&&&&Xlog.d(TAG,&&&showNavigationBar&&);&
&&&&&&&&if&(mNavigationBarView&==&null)&{
&&&&&&&&&&&&try&{
&&&&&&&&&&&&&&&&boolean&showNav&=&mWindowManagerService.hasNavigationBar();
&&&&&&&&&&&&&&&&if&(DEBUG)&Slog.v(TAG,&&hasNavigationBar=&&+&showNav);
&&&&&&&&&&&&&&&&if&(showNav)&{
&&&&&&&&&&&&&&&&&&&&mNavigationBarView&=
&&&&&&&&&&&&&&&&&&&&&&&&(NavigationBarView)&View.inflate(mContext,&R.layout.navigation_bar,&null);
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&mNavigationBarView.setDisabledFlags(mDisabled);
&&&&&&&&&&&&&&&&&&&&mNavigationBarView.setBar(this);
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&mWindowManager.addView(mNavigationBarView,&getNavigationBarLayoutParams());
&&&&&&&&&&&&}&catch&(RemoteException&ex)&{
&&&&&&&&&&&&&&&&//&no&window&manager?&good&luck&with&that
&&&&&&&&&&&&}
&&&&public&void&hideNavigationBar()&{
&&&&&&&&Xlog.d(TAG,&&&hideNavigationBar&&);&&
&&&&&&&&if&(&mNavigationBarView&!=&null)&{
&&&&&&&&&&&&mWindowManager.removeView(mNavigationBarView);
&&&&&&&&mNavigationBarView&=&null;
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:85782次
积分:1603
积分:1603
排名:第12340名
原创:54篇
转载:25篇
评论:20条
(1)(41)(9)(8)(8)(4)(2)(1)(11)(2)(1)(1)(1)(6)(8)(1)(1)(9)怎么去掉NavigationBar 底部的黑线
[问题点数:20分,结帖人qian3xiaww]
怎么去掉NavigationBar 底部的黑线
[问题点数:20分,结帖人qian3xiaww]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2014年12月 移动开发大版内专家分月排行榜第三
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2014年12月 移动开发大版内专家分月排行榜第三
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2014年12月 移动开发大版内专家分月排行榜第三
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2014年12月 移动开发大版内专家分月排行榜第三
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2014年12月 移动开发大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。如何在所有使用了自定义UINavigationBar的界面中使用自定义的UIBarButtonItem
不是每个界面都写一遍
UIImage image = [UIImage imageNamed:imagePath];
UIButton button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height);
[button setImage:image forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:highLightImagePath] forState:UIControlStateHighlighted];
[button addTarget:self action:selector forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
能不能有一个统一的方法统一设置?
按赞数排序
你可以把这个加到一个单独的global-variables文件中,像这样:
GlobalVariable.h
+(UIBarButtonItem*)customB
GlobalVariable.m
+(UIBarButtonItem*)customButton{
UIImage image = [UIImage imageNamed:imagePath];
UIButton button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height);
[button setImage:image forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:highLightImagePath] forState:UIControlStateHighlighted];
[button addTarget:self action:selector forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* btn = [[UIBarButtonItem alloc] initWithCustomView:button];
然后,在你想要按钮出现的view中import GlobalVariable.h,然后调用
self.navigationItem.leftBarButtonItem = [GlobalVariable customButton];
你可以一直用这个 GlobalVariable,以防你在其他的variables中也需要用到。
其他相似问题
相关参考资料

我要回帖

更多关于 隐藏navigationbar 的文章

 

随机推荐