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


    做一款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.

  • 相关阅读:
    vue element ui ipnut 限制长度
    elselect 的rules详解
    Linux文件及文件夹赋权
    若依vue部署遇到的一些问题
    11代cpu使用散热
    js replace
    转义符
    sts Java 方法不提示的解决办法
    maven 仓库配置
    二、mybatis全局配置文件说明
  • 原文地址:https://www.cnblogs.com/aaa2832/p/2594044.html
Copyright © 2020-2023  润新知