隐藏导航控件&全屏UI模式

应用场景:网易云音乐安卓客户端的启动欢迎(广告)页 的全屏显示。

 API Level 14

 SYSTEM_UI_FLAG_HIDE_NAVIGATION 标识会移除没有物理按钮的设备屏幕上的Home和Back控件。

 但是如果一直保持这种状态而主界面没有任何交互的话就完蛋了~~(比如可以做个空白页面显示“给钱解锁”)

 所以屏幕上的任何点击都会再次显示底部虚拟按键。




点击后:



更多标识:

1. View.SYSTEM_UI_FLAG_VISIBLE: 显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)。


{

2. View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。   

3. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。(同2)

}


{

    4. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分      会被状态遮住。

    5. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同 4

    6. View.SYSTEM_UI_LAYOUT_FLAGS:                                效果同 4

}


{

   7. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。

   8. View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。、

}

效果2/3:



效果 4,5,6:





效果8:



状态栏和底部虚拟键变成了小圆点~



设置的时候可以用id来获取根布局。

或者使用

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

  decorView是window中的最顶层view,一样的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个问题可能是由于控件提升后,ui_.h文件中的一些代码需要更新或修改导致的。建议检查一下控件提升的设置是否正确,以及ui_.h文件中的代码是否与当前的控件匹配。如果问题仍然存在,可以尝试重新生成ui_.h文件或者重新创建控件。 ### 回答2: 控件提升是指将Qt设计器中的基本控件升级为自定义控件。当我们在Qt设计器中提升一个控件后,会自动生成一个ui_.h文件,并将之前的控件替换为新的自定义控件。 当我们在提升控件后,如果出现ui_.h报错,可能有以下几种原因: 1. 错误的命名空间:在提升控件时,我们需要为新生成的自定义控件指定命名空间。如果命名空间不正确,会导致ui_.h文件报错。需要检查ui_.h文件中的命名空间,并确保与自己的项目设置一致。 2. 头文件路径错误:在提升控件时,我们需要指定新生成的自定义控件的头文件路径。如果路径设置不正确,也会导致ui_.h文件报错。需要检查ui_.h文件中的头文件路径,并确保路径设置正确。 3. 缺少必要的头文件:在提升控件后,新生成的自定义控件可能需要引用一些额外的头文件。如果缺少这些头文件,也会导致ui_.h文件报错。需要检查ui_.h文件中引用的头文件,并确保这些头文件都已正确包含。 4. 控件未正确实现:在提升控件后,新生成的自定义控件需要正确实现其相应的功能。如果控件的实现有误,也会导致ui_.h文件报错。需要检查ui_.h文件中对应自定义控件的实现,并确保实现正确。 总结起来,当控件提升后出现ui_.h报错,我们需要检查命名空间、头文件路径、引用的头文件和控件的实现等方面,以确保这些设置都正确无误。只要排除这些可能的错误,就能解决ui_.h报错的问题。 ### 回答3: 当控件被提升后,会导致ui_.h文件报错的情况可能有以下几种原因: 1.控件的类名或命名空间发生变化:如果在提升控件之前,控件的类名或命名空间发生了变化,那么ui_.h文件中引用该控件的地方可能无法找到该控件而报错。解决方法是在ui_.h文件中找到引用该控件的地方,修改为新的类名或命名空间。 2.控件的头文件没有包含:在ui_.h文件中,如果提升的控件没有包含对应的头文件,那么在调用该控件的地方会报错。解决方法是在ui_.h文件中添加对应控件的头文件包含语句。 3.控件的属性或方法发生变化:在提升控件之后,有可能该控件的属性或方法发生了变化,导致在ui_.h文件中调用该属性或方法时报错。解决方法是在ui_.h文件中找到相关调用的地方,根据控件的最新属性和方法进行修改。 4.提升控件时操作不正确:在Qt的设计器中提升控件时,如果操作不正确,有可能导致ui_.h文件中的代码生成错误。解决方法是重新检查提升控件的操作是否正确,或者尝试重新提升控件。 无论是哪种情况,都需要仔细检查相关代码和操作,确保控件的提升正确,并且ui_.h文件中的代码与提升后的控件相匹配。如有必要,可以通过回退代码版本或重新创建控件来解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值