一、什么是屏幕适配?
通过对尺寸单位、图片、文字、布局这四种类型资源进行合理设计及规划,在布局时合理利用各种类型资源,让布局拥有适应能力,能在各种设备下保持良好的展现效果。
二、屏幕适配的使用
1、适配尺寸:
屏幕分辨率:
1.屏幕分辨率是指在屏幕横*纵方向上的像素点数;
2.单位是px,1px=1个像素点;
3.一般以纵向像素*横向像素表示。
mdpi、hdpi、xdpi、xxdpi代表不同密度的设备。
dpi是屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dots per inch”的缩写。
ldpi = 120dpi mdpi = 160dpi
hdpi = 240dpi xdpi = 320dpi xxdpi = 480dpi
通常我们买手机或者创建模拟器时,设备dpi已经确定了,dpi越大,像素点越多,显示效果越清晰。
代码:
values-960x540下dimens.xml代码
<dimen name="app_width">800dp</dimen>
values-1184x720下dimens.xml代码
<dimen name="app_width">100dp</dimen>
values下dimens.xml代码
<dimen name="app_width">200dp</dimen>
main_activity.xml代码
<Button
android:layout_width="@dimen/app_width"
android:layout_height="wrap_content"
android:text="@string/hello_world"
>
2、适配图片:
根据不同密度的手机,可以分别设计不同尺寸的图片放置在对应drawable的文件夹中,安卓系统会根据当前运行的设备密度,加载对应文件夹中的图片。不同尺寸的图片放入不同的包里。
drawable-hdpi:运行在密度为hdpi的设备上时,加载此文件夹;
drawable-ldpi:运行在密度为ldpi的设备上时,加载此文件夹;
drawable-mdpi:运行在密度为mdpi的设备上时,加载此文件夹;
drawable-xdpi:运行在密度为xdpi的设备上时,加载此文件夹;
drawable-xxdpi:运行在密度为xxdpi的设备上时,加载此文件夹;
3、适配文字:设置不同的values文件
values-语言缩写。每个文件夹中的string.xml文件夹的命名一致,key一致,根据当前文件夹要适配的语言进行翻译即可。
1.当手机语言为英文时,APP的字符串显示英文:在res新建values-en文件夹,并在此创建string.xml,字符串内容为英文格式;
2.当手机语言为中文时,APP内的字符串显示中文:在res下新建values-ch文件夹,并在此创建string.xml,字符串内容为中文格式。
4、适配布局:创建不同的文件夹
layout文件夹:
1.layout-land在设备横屏时加载此文件夹中的布局文件;
2.layout-port在设备竖屏时加载此文件夹中的布局文件;
3.layout-高x宽可针对特定分辨率的设备进行布局定制。