android屏幕适配

屏幕适配:

布局适配、布局控件适配、图片资源适配

 

布局适配:

本质使得布局元素自适应屏幕尺寸根据屏幕的配置来加载相应的UI布局

 

使得布局元素自适应屏幕尺寸

做法使用相对布局(RelativeLayout),禁用绝对布局(AbsoluteLayout)

布局的子控件之间使用相对位置的方式排列,因为RelativeLayout讲究的是相对位置,即使屏幕的大小改变,视图之前的相对位置都不会变化,与屏幕大小无关,灵活性很强

由于绝对布局(AbsoluteLayout)适配性极差,所以极少使用。

 

根据屏幕的配置来加载相应的UI布局

做法使用限定符通过配置限定符使得程序在运行时根据当前设备的配置(屏幕尺寸)自动加载

使用布局别名

尺寸限定符(layout-large)3.2之前 示例:res/layout-large/main.xml

最小宽度(Smallest-width)限定符3.2之后 res/layout-sw600dp/main.xml屏幕方向(Orientation)限定符 

布局控件适配:

本质:使得布局组件自适应屏幕尺寸

做法:使用"wrap_content"、"match_parent"和"weight“来控制视图组件的宽度和高度或者使用百分比布局

 

图片资源适配:

本质:使得图片资源在不同屏幕密度上显示相同的像素效果

做法使用自动拉伸位图:Nine-Patch的图片类型使用自动拉伸位图(nine-patch图片),后缀名是.9.png

 

dp与px转换

| 低密度(ldpi) | 240x320 | 120 |1dp=0.75px|3|         32x32px

| 中密度(mdpi) | 320x480 | 160 |1dp=1px|4|            48x48px

| 高密度(hdpi) | 480x800 | 240|1dp=1.5px|6|           72x72px

| 超高密度(xhdpi) | 720x1280 | 320|1dp=2px|8|         96x96px

| 超超高密度(xxhdpi) | 1080x1920 | 480 |1dp=3px|12|   144x144px

| 超超高密度(xxxhdpi) | 1920x2560| 640 |1dp=4px|16| 192x192px

Android中,规定以160dpi(即屏幕分辨率为320x480)为基准:1dp=1px


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值