学会使用屏幕适配
定义:
使得某一元素在Android不同尺寸、不同分辨率的手机上具备良好的显示效果。
(一)尺寸单位适配
重要概念
屏幕尺寸:
- 含义:手机对角线的物理尺寸
- 单位:英寸(inch),1英寸=2.54cm
屏幕分辨率:
- 含义:屏幕横纵方向上的像素点数
- 单位:px,1px=1像素点
屏幕像素密度:
- 含义:每英寸的像素点数
- 单位:dpi(dots per ich)
(以mdpi为标准)
实操练习
在Activity行布局中创建Button控件在正常分辨率和960*540以及1184*720分辨率下运行,观察Button的宽度变化。
代码演示:
<resources>
<dimen name="app_width">800dp</dimen>
</resources>
<Button
android:layout_width="@dimen/app_width"
android:layout_height="wrap_content"
android:text="蛋蛋" />
(二)图片适配
我们可以用多个layout目录对不同分辨率进行单独布局,如下:
实操练习:
将两张图片放在drawable-hdpi,drawable-mdpi中,并将图片命名为一样的,在hdpi和mdpi的设备中运行。观察加载了那个文件夹中的图片。
图片展示:
hdpi设备下运行效果:
mdpi设备下运行效果:
(三)文字适配
当我们用手机时,想要设置手机显示语言为中文或英文,从而改变APP的字符串显示为相应的语言,此时就用到了文字适配。
方法:
在srcx下新建values-en文件夹,在此创建string.xml;
values中的string.xml
<resources>
<string name="app_name">语言切换</string>
</resources>
values-en中的string.xml
<resources>
<string name="app_name">languageMore</string>
</resources>
(四)布局适配
布局适配可以帮助设备在切换横竖屏时实现布局效果。
横竖屏不同效果对比
- 在res下新建layout-large文件夹,在文件夹下创建相同命名的布局文件;
- 布局文件简单编写用以区分;
- 观察其不同。
竖屏效果图
横屏效果图