史上最全的Android屏幕适配面试题集锦
前言
很多人面试之前,可能没有在互联网公司工作过或者说工作过但年头较短,不知道互联网公司技术面试都会问哪些问题? 再加上可能自己准备也不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。
下述是我整理的Android面试题汇总,由于篇幅原因,在这只把屏幕适配部分的题目列举出来,后续还会更新其余面试题内容,大家可以关注一下我,及时知晓我更新的知识点,同时这份面试集锦的整理也花费了我很多时间,有需要的朋友可以点击这里免费领取!
可以关注一下专栏Android高级开发架构(记得看专栏简介哦~)每天更新各种Android开发趣事、技术干货、进阶架构知识、面试经验分享等。
一、基本概念
屏幕尺寸
含义:手机对角线的物理尺寸 单位:英寸(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
二、适配方法
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图片
三、今日头条屏幕适配
最后
以上就是Android屏幕适配部分的面试题目,后续还会更新其余面试题内容,大家可以关注一下我,及时知晓我更新的知识点,同时这份面试集锦的整理也花费了我很多时间,有需要的朋友可以点击这里免费领取!
漫漫Android开发之路,你我只是其中的一小部分……只有不断的学习、进阶,才是我们的出路!才跟得上时代的进步!为此我也是找了很多的资料。
这边把我收录整理的一些资料拿出来分享给大家,一方面是希望能够帮助大家提高,一方面也是警醒自己,要不断学习、不断提升,进阶才是王道!
分享给大家的资料包括高级架构技术进阶脑图、Android开发面试专题资料,还有高级进阶架构资料包括但不限于【高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术】希望能帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也是可以分享给身边好友一起学习的!
资料领取方式:点击这里免费领取!
关注一下专栏Android高级开发架构(记得看专栏简介哦~)每天更新各种Android开发趣事、技术干货、进阶架构知识、面试经验分享等。如有好的文章也欢迎投稿。
Android高级开发架构