千锋大数据开发学院UI布局和初级控件的使用( 四 )


如何在尺寸各异的屏幕上正常显示布局效果?
确保UI布局能在不同尺寸的屏幕上保持统一的展示效果 , 需要使用屏幕适配方案 , 对UI布局和各主流尺寸屏幕进行适配 , 简称为屏幕适配 。
屏幕适配基础知识

  • 屏幕尺寸:手机对角线的物理尺寸 , 简单说就是指屏幕大小 , 单位是英寸 。 比如小米9(6.39寸)、荣耀20(6.26寸)、OPPO Reno(6.4寸)、华为P30(6.1寸)、华为P30Pro(6.47寸)、小米10(6.67寸)屏幕分辨率:显示设备在屏幕的横向、纵向上的像素点数的总和 。 格式为宽X高 。 比如华为P30(2340 x 1080像素)、小米10(2340 x 1080像素)、小米Mix 3(2340 x 1080像素) 。 分辨率单位是像素 , 英文px;1px = 1像素点屏幕像素密度:dosts per ich , 每英寸的像素点数 , 单位是简称dpi 。
屏幕尺寸、分辨率、像素密度的关系
分辨率为宽x高 , 屏幕大小为英寸 。 像素密度与另外两者的关系公式为:
千锋大数据开发学院UI布局和初级控件的使用
本文插图
根据分辨率和屏幕大小尺寸两个方面的数据 , 结合上述三者关系的公式 , 最后可以计算得到像素密度的最终值 。
千锋大数据开发学院UI布局和初级控件的使用
本文插图
如上图所示 , 根据最后的像素密度按从小到大进行密度类型的分类 , 五个等级分别对应:ldpi、mdpi、hdpi、xhdpi以及xxhdpi 。
使用上述公司可以在由需要的时候 , 设置控件的尺寸及布局的尺寸 , 设置的时候单位是px 。 但是因为屏幕的分辨率不同 , 所以对不同的尺寸屏幕要想保持效果一致 , 就需要设置不同的px , 这显然是灾难 。 因此 , Android还有一个特有的单位:密度无关像素 。
密度无关像素
density-independent pixel , 简称为dip或者dp , 其含义是表示与终端上的实际物理像素点无关 , 因此可以保证在不同像素密度的设备上显示相同的效果 。 所以:
1、Android应用开发中要使用dp作为控件和布局尺寸 , 而不是px 。
2、dp和px有一个转换的关系 。 UI设计师给到开发的设计图是px的单位 , Android开发使用dp作为单位 , 因此需要对两者进行转换 。
千锋大数据开发学院UI布局和初级控件的使用
本文插图
独立比例像素
在Android中还有一个概念为scale-independent pixel , 简称为sp或者sip , 可以翻译为独立比例像素 。 单位是sp 。 对于独立比例像素 , 有两点需要掌握:
1、应用场景:在Android的开发中 , 使用sp单位进行文字大小的设置 , 可以根据字体的大小首选项进行缩放 。
2、常用:一般使用12sp、14sp、16sp等类似偶数的整数作为字体字号的大小 。 奇数和小数容易造成精度的丢失 。
Android屏幕碎片化适配方法
一、布局匹配
结论:首选RelativeLayout(相对布局) , 禁止使用AbsoluteLayout(绝对布局)
常用的布局:Linearlayout(线性布局)、RelativeLayout(相对布局)、帧布局(FrameLayout)
根据屏幕大小配置不同的布局文件
当需要为不同的屏幕尺寸进行界面适配时 , 往往需要通过设计不同的布局来进行实现 。 让Android设备能自动的在不同的设备上加载不同的布局 。
A、屏幕尺寸
1、规则:在>7英寸的屏幕上 , 显示“双面板”模式展示更多内容;<7英寸的屏幕上 , 使用“单面板”显示内容
2、操作:双面版布局文件在res下单独放置在layout-large目录中 。
3、局限性:适合于Android 3.2版本之前 。
B、屏幕最小宽度:720宽度:宽度小于720 , 显示界面a效果 , 宽大于>720,显示b效果 。