乐趣区

关于android:史上最全的Android面试题集锦五

原文链接: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…

退出移动版