设为首页 加入收藏

TOP

Android 480DP屏幕使状态栏始终显示
2014-11-24 08:10:20 来源: 作者: 【 】 浏览:1
Tags:Android 480DP 屏幕 状态 始终 显示

糖果G-2的平板电脑产品使用的屏幕分辨率为800x480,在7inch的平板电脑上来讲,分辨率是相当低的。


代码在frameworks/base下


base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java中



879 int shortSizeDp = shortSize
880 * DisplayMetrics.DENSITY_DEFAULT
881 / DisplayMetrics.DENSITY_DEVICE;
882 mStatusBarCanHide = shortSizeDp < 600; //短边小于600dp的时候,status bar可以隐藏



既然是根据分辨率来的,咱就把分辨率改大点不行么?


480 /128 * 160 = 600


所以将ro.sf.lcd_density=600


添加到system/build.prop


这样强制使屏幕尺寸变大,问题是得到解决了,但是感觉好奇怪,图标变得好小。怎么看都比较别扭。


于是要从代码着手。



2503 if (topIsFullscreen) {
2504 if (mStatusBarCanHide) {
2505 if (DEBUG_LAYOUT) Log.v(TAG, "Hiding status bar");


将if(mStatusBarCanHide) 替换为if(false)


状态栏是时钟显示了,但是仍然会遮挡全屏应用的底部,这样肯定是不行的。


索性,直接将mStatusBarCanHide赋值为false


以为这样肯定行了,哪知道问题更大,状态栏是始终有了,可是屏幕竟然变成了竖屏,就是在主界面下(非app下),屏幕始终竖屏显示,旋转也没有任何变化,但是在应用里面还是正常的。有点像手机的布局。


真奇怪,就改了一个mStatusBarCanHide的属性,而且这个变量只在PhoneWindowManager.java文件中用到,怎么会影响到布局呢?


在PhoneWindowManager.java中找mStatusBarCanHide用到的地方,唯一跟尺寸相关的地方就是


1244 public int getNonDecorDisplayHeight(int fullWidth, int fullHeight, int rotation) {
1245 // Assumes the navigation bar appears on the bottom of the display in portrait.
1246 return fullHeight
1247 - (mStatusBarCanHide 0 : mStatusBarHeight)
1248 - ((fullWidth > fullHeight) 0 : mNavigationBarHeight);
1249 }


这个地方,该函数会在其他地方调用获取Display的高度



services/java/com/android/server/wm/WindowManagerService.java中


} else if (longSize >= 640 && shortSize >= 480) {
6154 // VGA or larger screens at medium density are the point
6155 // at which we consider it to be a large screen.
6156 screenLayoutSize = Configuration.SCREENLAYOUT_SIZE_LARGE;
6157 } else {
6158 screenLayoutSize = Configuration.SCREENLAYOUT_SIZE_NORMAL;
6159 }


其中的shortSize就是通过该函数获取的,由于mStatusBarCanHide = false, 得到的高度小于480,所以使用的布局为NORMA,不是原来的LARGE,才导致出现布局问题。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言中除以2的幂 下一篇君正JZ4770 bootloader中对nand ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)