学会使用屏幕适配

定义:

使得某一元素在Android不同尺寸、不同分辨率的手机上具备良好的显示效果。

(一)尺寸单位适配

重要概念

屏幕尺寸:
  • 含义:手机对角线的物理尺寸
  • 单位:英寸(inch),1英寸=2.54cm
屏幕分辨率:
  • 含义:屏幕横纵方向上的像素点数
  • 单位:px,1px=1像素点
屏幕像素密度:
  • 含义:每英寸的像素点数
  • 单位:dpi(dots per ich)

androiddpi androiddpi适配_像素点


(以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目录对不同分辨率进行单独布局,如下:

androiddpi androiddpi适配_像素点_02

实操练习:

将两张图片放在drawable-hdpi,drawable-mdpi中,并将图片命名为一样的,在hdpi和mdpi的设备中运行。观察加载了那个文件夹中的图片。

图片展示:

hdpi设备下运行效果:

androiddpi androiddpi适配_androiddpi_03

mdpi设备下运行效果:

androiddpi androiddpi适配_竖屏_04

(三)文字适配

当我们用手机时,想要设置手机显示语言为中文或英文,从而改变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>

androiddpi androiddpi适配_竖屏_05


(四)布局适配

布局适配可以帮助设备在切换横竖屏时实现布局效果。

横竖屏不同效果对比
  1. 在res下新建layout-large文件夹,在文件夹下创建相同命名的布局文件;
  2. 布局文件简单编写用以区分;
  3. 观察其不同。

    竖屏效果图

androiddpi androiddpi适配_xml_06


横屏效果图

androiddpi androiddpi适配_像素点_07