机器升级为android 4.1,10寸的平板跟以前的布局没有什么两样,但是7寸的就出了点问题。
谷歌Nexus 7也是7寸,默认使用的layout跟手机有些相似,但不全是手机布局。Nexus 7是1280 x 800,DPI 为213,这样经过计算,宽度换算为DP就是
800 * 160 / 213 = 600; 4.1中对于600 ~ 719 dp的分辨率使用一种新的布局,姑且叫做Phone Tablet吧。我们的平板是1024 x 600分辨率。DPI 和DP 都是600,但是
这样设置之后,看不到导航键。
看了网上关于谷歌Nexus 7使用平板布局的方法,就是去修改ro.sf.lcd_density这个属性,知道修改后变为720DP 以上,这样的话,我们的7寸平板要修改为小于 133,因为只有这样600 * 160 / 133 = 721;才会使用720DP的布局。但是这样修改之后,感觉界面怪怪的,图标和字体都很小。因为这样修改后,实际上在逻辑上,屏幕尺寸是变大了(变为 7 *160/133) 。
4.1的代码中确实对于600DP~ 719DP之间做了特殊的修改,这部分改动太大,想直接revert不太现实,有太多的冲突。所以需要找到一个全局的,能强制使用720DP布局的地方,关键就在如何找到使用哪一种布局资源作为当前系统的布局。
查了点资料,找到Android系统中选择使用哪一种布局的文件
在frameworks/base目录下的libs/andro