首页 > 代码库 > Android 布局

Android 布局

  1. Layout_x:表示控件与父控件之间的关系,不带layout的属性表示控件中文本的格式
  2. 带Layout_weight的控件width计算方法:首先计算剩余空间,剩余空间可以是整可以是负,剩余空间=屏幕width-所有控件所需要的width,然后剩余空间乘以weight所占的比例再加到width上就是实际的width
  3. 布局是组件是组件在Activity中的呈现方式,即组件大小,间距和对齐方式等,Android中常见的布局以下几种:
    • 线性布局:按照垂直或者水平方式布局组件
    • 帧布局:组件从屏幕的左上角布局
    • 表格布局:按照行列方式布局组件
    • 相对布局:相对于其他组件的布局方式
    • 绝对布局(已过期):按照绝对坐标来布局组件

  4. MeasureSpec的三个常量的含义:
    • MeasureSpec.UNSPECIFIED:parent不对子元素施加影响,子元素想多大就多大
    • MeasureSpec,EXACTLY:parent决定了子元素的确定大小,不管子元素想要多大
    • MeasureSpec.AT_MOST:子元素至多能达到的大小

  5. 当我们设置width或height为fill_parent时,容器在布局时调用子 view的measure方法传入的模式是EXACTLY,因为子view会占据剩余容器的空间,所以它大小是确定的。而当设置为 wrap_content时,容器传进去的是AT_MOST, 表示子view的大小最多是多少,这样子view会根据这个上限来设置自己的尺寸。当子view的大小设置为精确值时,容器传入的是EXACTLY

  6. onMeasure(int widthMeasureSpec, int heightMeasureSpec),以widthMeasureSpec为例:clipboard
  7. Padding 是view的边界与view的content之间的距离,无法针对背景设置Padding, padding与margin的布局如图:
    clipboard[1]
  8.  
 
 

Android 布局