Android屏幕分辨率适配

  1. android开发中控件长宽单位用dp而不用px,字体大小用sp
    dp也就是dip,这个和sp基本类似。
    如果设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。
    dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。
    如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。
  2. AndroidManifest.xml 配置
    android从1.6和更高,Google为了方便开发者对于各种分辨率机型的移植而增加了自动适配的功能 《supports-screens
    android:largeScreens=”true”
    android:normalScreens=”true”
    android:smallScreens=”true”
    android:anyDensity=”true”/》
    如果android:anyDensity=”true”
    指应用程序支持不同密度,会根据屏幕的分辨率自动去匹配。
    如果android:anyDensity=”false”
    应用程序支持不同密度,系统自动缩放图片尺寸和这个图片的坐标,也就是说系统只会加载一套图片资源,但是会对图片进行缩放。
  3. android开发中由于手机的分辨率不同对于同一张图片的展现形式呈现不同,例如一张图片在设备分辨率是800×480的手机上展现正常,但是到设备分辨率是1600×960上可能就会被拉伸,这种适配比较简单,android工程下有drawable-mdpi,drawable-hdpi,drawable-xdpi,drawable-xxdpi这些文件夹,values-hdpi,values-xdpi,values-xxdpi中dimens.xml中可配置长宽
    ldpi:240x320
    mdpi:320x480
    hdpi:480x800、480x854
    xhdpi:至少960*720
    xxhdpi:1280×720
    现在开发基本只从hdpi以上的开始提供,hdpi一下的基本很少了,可以忽略不计
    在提供界面图片资源的时候可针对不同分辨率的手机提供多套ui图片放到如上文件夹中,android系统在进行图片加载的时候会自动根据手机屏幕的分辨率到对应分辨率的文件夹下加载图片,如果手机的分辨率和以上文件夹的分辨率略有不同,那么android系统会找到相差最小的分辨率的文件夹并加载图片
  4. 做屏幕适配应该注意尽量使用相对布局而不使用绝对布局,控件的长宽最好不要写死,而用权重weight或者用wrap_content,match_parent,在android新发布的support库中有提供了一个可设置百分比的布局,可把长宽用百分比来配置 Android 增强版百分比布局库 为了适配而扩展
  5. 在做屏幕适配的时候其实还可以用代码获取屏幕长宽,然后用代码计算控件所需的长宽,不过这种方法并不可取
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值