Android 技巧:隐藏 System UI
来源:互联网 发布:app用户行为数据采集 编辑:程序博客网 时间:2024/05/17 07:21
概念: 策略模式
WindowManagerService.java 使用 PhoneWindowManger 集中管理策略。 管理System UI 也全在 PhoneWindowManager.java中, 我们需要改的就是他
要隐藏 System UI 分3步
1)先搞清楚模式
a) Jeally Bean 的 System UI , 有两种模式
使用 PhoneStatusBar 只有屏幕上方的 status bar
或使用 TabletStatusBar 只有屏幕下方的 status bar ( 可能有NavBar 导航条)
b) 看下面几种模式
if (shortSizeDp < 600) {
// 0-599dp: "phone" UI with a separate status & navigation bar 分离的上方有status bar, 下方有nav bar
mHasSystemNavBar = false;
mNavigationBarCanMove = true;
} else if (shortSizeDp < 720) {
// 600-719dp: "phone" UI with modifications for larger screens, 只有 上方status bar
mHasSystemNavBar = false;
mNavigationBarCanMove = false;
} else {
// 720dp: "tablet" UI with a single combined status & navigation bar 只有下方的 status bar
mHasSystemNavBar = true;
mNavigationBarCanMove = false;
}
我们把其设置为只有 上方status bar,
mHasSystemNavBar = false;
mNavigationBarCanMove = false;
c) 再想法隐藏 上方status bar, 方法是把 STATUS_BAR置于后面的层中
public int windowTypeToLayerLw(int type) {
...
switch (type) {
case TYPE_STATUS_BAR:
return ALIEN? 1: STATUS_BAR_LAYER;
case TYPE_STATUS_BAR_PANEL:
下面这篇文章相当不错,推荐
http://blog.csdn.net/yihongyuelan/article/details/7623578
WindowManagerService.java 使用 PhoneWindowManger 集中管理策略。 管理System UI 也全在 PhoneWindowManager.java中, 我们需要改的就是他
要隐藏 System UI 分3步
1)先搞清楚模式
a) Jeally Bean 的 System UI , 有两种模式
使用 PhoneStatusBar 只有屏幕上方的 status bar
或使用 TabletStatusBar 只有屏幕下方的 status bar ( 可能有NavBar 导航条)
b) 看下面几种模式
if (shortSizeDp < 600) {
// 0-599dp: "phone" UI with a separate status & navigation bar 分离的上方有status bar, 下方有nav bar
mHasSystemNavBar = false;
mNavigationBarCanMove = true;
} else if (shortSizeDp < 720) {
// 600-719dp: "phone" UI with modifications for larger screens, 只有 上方status bar
mHasSystemNavBar = false;
mNavigationBarCanMove = false;
} else {
// 720dp: "tablet" UI with a single combined status & navigation bar 只有下方的 status bar
mHasSystemNavBar = true;
mNavigationBarCanMove = false;
}
我们把其设置为只有 上方status bar,
mHasSystemNavBar = false;
mNavigationBarCanMove = false;
c) 再想法隐藏 上方status bar, 方法是把 STATUS_BAR置于后面的层中
public int windowTypeToLayerLw(int type) {
...
switch (type) {
case TYPE_STATUS_BAR:
return ALIEN? 1: STATUS_BAR_LAYER;
case TYPE_STATUS_BAR_PANEL:
下面这篇文章相当不错,推荐
http://blog.csdn.net/yihongyuelan/article/details/7623578
- Android 技巧:隐藏 System UI
- Android UI设计技巧
- Android UI设计技巧
- Android UI设计技巧
- Android UI设计技巧
- Android UI 设计技巧
- Android UI设计技巧
- Android UI设计技巧
- Android UI设计技巧
- Android UI设计技巧
- Android UI设计技巧
- Android UI设计技巧
- Android UI设计技巧
- Android UI 设计技巧
- Android UI设计技巧
- Android System UI code阅读
- Android总结 - System UI Mode
- (android)system ui 内存优化
- uva 11624
- MyGUI3.2.0编译及运行Demo
- 基于jsp+java的团购网站毕业设计(优秀毕业论文)
- 图像匹配
- POJ 1001 Exponentiation
- Android 技巧:隐藏 System UI
- 图片渐出效果
- 《程序员密码学》之消息认证码算法
- HDU 1879 最小生成树 prim + kruskal
- 通过SQL语句设置或删除主键——CONSTRAINT用法
- 欧拉回路和哈密尔顿回路
- 图片显示文字效果
- SQLite剖析(9):动态内存分配
- Windows CE系统机制中的调度