android分辨率详解

 Density获取的部分在DisplayMetrics.java这个类里面,系统定义了3个等级的density,分别是low-120,medium-160,high-240。

    代码中把Density设置为默认的Density,也就是当前,机器中的Density。那如何设置这个Density。同样在这个类最下面,找到系统获取Density的方法:

 private   static   int   getDeviceDensity()   { 
              //   qemu.sf.lcd_density   can   be   used   to   override   ro.sf.lcd_density 
                //   when   running   in   the   emulator,   allowing   for   dynamic   configurations. 
               //   The   reason   for   this   is   that   ro.sf.lcd_density   is   write-once   and   is 
                //   set   by   the   init   process   when   it   parses   build.prop   before   anything   else. 
             return   SystemProperties . getInt( " qemu.sf.lcd_density " , 
                                 SystemProperties . getInt( " ro.sf.lcd_density " ,   DENSITY_DEFAULT)); 
       }
 而如何给系统设置Density,就在./device/eshion/f101/init.rc,添加setprop ro.sf.lcd_density 240.
 更改系统像素是在./framework/core/java/android/content/res/CompatibilityInfo.java下:
 public static final int DEFAULT_PORTRAIT_WIDTH = 600;宽像素
 public static final int DEFAULT_PORTRAIT_HEIGHT= 1024;长像素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值