android屏幕适配

xiaoxiao2021-02-28  119

屏幕适配:

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

 

布局适配:

本质使得布局元素自适应屏幕尺寸根据屏幕的配置来加载相应的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

转载请注明原文地址: https://www.6miu.com/read-33814.html

最新回复(0)