面试准备-打卡第五天-Android篇

207 阅读2分钟

简述Android中常用布局、各自特点及应用场景

在Android中,共有六种布局方式,分别是;

  • FrameLayout(帧布局) 特点:放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖在上一个元素

应用场景:适合浏览单张照片,或者说当页面有耗时操作时,来一个加载中的显示,操作进行完成时,再将加载中显示的页面设置为不可见

  • LinearLayout(线性布局) 特点:主要以水平或垂直方式来显示界面中的控件,当控件水平排列时,显示顺序一次从左到右,当控件垂直排列时,显示顺序依次从上到下

应用场景:适用于横平竖直的一些控件组,即组件与组件之间没有复杂的位置关系,通过orientation设置方向(横向/纵向),gravity设置对齐方式

  • AbsoluteLayout(绝对布局) 特点:采用坐标轴的方式定位组件,左上角为(0,0),往右X轴递增,往下Y轴递增,组件定位属性为android:layout_x和android:layout_y来确定坐标

应用场景:准确定位空间位置,但由于Android手机屏幕尺寸、分辨率存在较大差异,使用AbsoluteLayout无法兼顾适配问题,所以该布局已经过时

  • RelativeLayout(相对布局) 特点:通过相对定位的方式指定控件位置,即以其他控件或父容器为参照物,来摆放控件位置

应用场景:和LinearLayout的排列规则不同,它显得更加随意一些,可以通过相对定位的方式让控件显示在布局的任何位置,适合于一些布局比较复杂的情况

  • TableLayout(表格布局) 特点:类似于html中的table,使用Tablerow来布局,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格

应用场景:控件之间存在相应关系

  • ConstraintLayout(约束布局) 特点:与传统编写界面的方式恰恰想反,非常适合用可视化的方法来编写界面,另外它有效的解决了布局嵌套太多的问题,平时编写界面,复杂的布局会伴随多层的嵌套,嵌套越多,程序的性能也就越差

应用场景:可视化编写界面,复杂布局