现在的位置: 首页 > 综合 > 正文

pad 强制加载 Hdpi资源 (2.3 dpi < 240)

2013年02月22日 ⁄ 综合 ⁄ 共 985字 ⁄ 字号 评论关闭

做一款pad产品,屏幕是7寸,分辨为1024*600。芯片厂商给的代码运行起来但视觉效果很差,第一眼就可以看出壁纸被严重拉伸过,图片色块和锯齿很明显,一开始怀疑是屏驱动没有调好驱动专人对lcd驱动进行了优化,但问题没有多少改善。最后发现是系统根据硬件报上来的参数计算出来设备的dpi只有169,远为达到读HDPI资源的240标准。

当时由于工期紧采取了妥协的做法,把所有的应用资源都放在mdpi里,虽然尺寸都是H的。

但很快出现了新问题:

1,launcher 无法加载第三方的高清icon,效果很模糊。

2,第三方应用运行的效果对比p1000差太多,完全不是pad的布局。

为了克服上述两个问题,中间试了很多方法和手段,查阅不少资料。有几种可行的方案,权衡利弊,最后还是决定在框架里面作修改:

1.framework/base/core/java/android/content/res/CompatibilityInfo.java

DEFAULT_PORTRAIT_WIDTH = 600

DEFAULT_PORTRAIT_HEIGHT = 1024

2.vendor/marvell/brownstone/brownstone.mk

+#Add for support High dpi

+PRODUCT_PROPERTY_OVERRIDES += \

+           persist.service.pp.enable = 1 \

+ro.sf.lcd_density = 240

+CUSTOM_LOCALES += hdpi mdpi 

做完以上修改全编译系统,上述两个问题解决。

补充:从3.0开始,pad才算真正被Android系统所支持,google工程师还煞费苦心的引入新机制,使屏幕尺寸也成为决定系统加载何种i资源的依据之一

    

Note: Beginning with Android 3.2 (API level 13), these size groups are deprecated in favor of a new technique for managing screen sizes based
on the available screen width. If you're developing for Android 3.2 and greater, see Declaring Tablet Layouts for Android 3.2 for
more information.

抱歉!评论已关闭.