共计 982 个字符,预计需要花费 3 分钟才能阅读完成。
原文链接:https://blog.csdn.net/xiangzh…
6、屏幕适配
6.1、基本概念
屏幕尺寸
含意:手机对角线的物理尺寸 单位:英寸(inch),1 英寸 =2.54cm
Android 手机常见的尺寸有 5 寸、5.5 寸、6 寸,6.5 寸等等
屏幕分辨率
含意:手机在横向、纵向上的像素点数总和
个别形容成屏幕的”宽 x 高”=AxB 含意:屏幕在横向方向(宽度)上有 A 个像素点,在纵向方向
(高)有 B 个像素点 例子:1080×1920,即宽度方向上有 1080 个像素点,在高度方向上有 1920 个像素点
单位:px(pixel),1px= 1 像素点
UI 设计师的设计图会以 px 作为对立的计量单位
Android 手机常见的分辨率:320×480、480×800、720×1280、1080×1920
屏幕像素密度
含意:每英寸的像素点数 单位: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…