原文链接:https://blog.csdn.net/xiangzh...

6、屏幕适配

6.1、基本概念

屏幕尺寸

含意:手机对角线的物理尺寸 单位:英寸(inch),1英寸=2.54cm

Android手机常见的尺寸有5寸、5.5寸、6寸,6.5寸等等

屏幕分辨率

含意:手机在横向、纵向上的像素点数总和

个别形容成屏幕的”宽x高”=AxB 含意:屏幕在横向方向(宽度)上有A个像素点,在纵向方向

(高)有B个像素点 例子:1080x1920,即宽度方向上有1080个像素点,在高度方向上有1920个像素点

单位:px(pixel),1px=1像素点

UI设计师的设计图会以px作为对立的计量单位

Android手机常见的分辨率:320x480、480x800、720x1280、1080x1920

屏幕像素密度

含意:每英寸的像素点数 单位:dpi(dots per ich)

假如设施内每英寸有160个像素,那么该设施的屏幕像素密度=160dpi

6.2、适配办法

1.反对各种屏幕尺寸: 应用wrap_content, match_parent, weight.要确保布局的灵活性并适应各种尺寸的屏幕,应应用 “wrap_content”、“match_parent” 管制某些视图组件的宽度和高度。

2.应用绝对布局,禁用相对布局。

3.应用LinearLayout的weight属性

如果咱们的宽度不是0dp(wrap_content和0dp的成果雷同),则是match_parent呢?

android:layout_weight的实在含意是:如果View设置了该属性并且无效,那么该 View的宽度等于原有宽度(android:layout_width)加上残余空间的占比。

从这个角度咱们来解释一下下面的景象。在下面的代码中,咱们设置每个Button的宽度都是match_parent,假如屏幕宽度为L,那么每个Button的宽度也应该都为L,残余宽度就等于L-(L+L)= -L。

Button1的weight=1,残余宽度占比为1/(1+2)= 1/3,所以最终宽度为L+1/3*(-L)=2/3L,Button2的计算相似,最终宽度为L+2/3(-L)=1/3L。

4.应用.9图片

6.3、今日头条屏幕适配

点击下方链接收费获取Android进阶材料:

https://shimo.im/docs/tXXKHgd...