"Android 布局"-面试必问"精华技能点"汇总.

Anroid中的布局精华点汇总讲解

目录:

  • Android有哪些常用布局
  • UI中的padding和margin有何区别
  • layout_gravity和gravity的区别
  • 如何使用权重让一个子控件的宽度为父控件的13
  • Android中布局的优化措施都有什么

1.Android有哪些常用布局?

  • LinearLayout

    线性布局:纵横方向
    
  • RelativeLayout

    相对布局:左右上下
    
  • FramLayout

    帧布局:可叠加掩盖
    
  • AbsolutLayout

    绝对布局:输入坐标:layout_x = "10dp" layout_y = "xxdp"
    
  • TableLayout

    表格布局:对应的行和列,可设拉伸,压缩,填满
    
  • GrideLayout

    网格布局:多少行多少列
    

2.UI中的padding和margin有何区别?

  • padding: (内撑)自己和自己内部控件的距离

  • maring: 自己和(外部)上下左右控件的距离

3.layout_gravity和gravity的区别:

  • layout_gravity: 自己相对于父控件的位置

  • gravity:自己相对于内部的子控件的位置

4.如何使用权重让一个子控件的宽度为父控件的1/3?

  • 1.线性布局,方向从左到右,宽度铺满
  • 2.设置权重总和为3:weightSum = 3;
  • 3.然后设置子控件的权重为1即可满足

5.Android中布局的优化措施都有什么?

  • 1.避免和减少过多的嵌套层级

    • 用hierarchyViewer能帮助我们发现没有用的副局
  • 2.不设置不必要的背景,避免过度绘制绘制

    • 比如子控件把父控件都全部盖住了,那么父控件就没有设置背景的必要
  • 2.采用抽取代码思维,相同的布局代码用复用
  • 3.层级的要用merce层
  • 4.采用viewStub进行延迟加载
    以上的2,3,4点非常的重要,为此专门写了一篇进行详细的介绍(点击访问)

你可能感兴趣的:(Android)