android回顾之二 UI

UI

  • user interface,UI由view和viewGroup组成
  • view是所有视图空间(包括viewGroup)的基类
  • view占据一块矩形区域,并在上面进行内容绘制
  • viewGroup包含view和viewGroup,用于控制子布局
    总结:view负责显示,viewGroup负责控制布局

LinearLayout

关于layout_weight

  1. 权重的值
  • 等于0(默认值):占据指定的空间
  • 大于0:将父控件的可用空间进行分割,值越大权重越大占据比例越大
  1. 使用场景
  • 将布局平均分配
  • 垂直或者竖直方向上占据中间部分的所有空间

需要注意的是,在使用权重时,需要将宽度或者高度设置为0dp。
在将宽度或者高度设置为0dp或者wrap_content时,
线性布局的子视图宽度或者高度计算公式为: 子视图自身的宽度(高度) + 权重/总权重 * 父视图的宽度(高度)
但是如果都设置为match_parent时,权重越大,所占比例反而越小。

线性布局独有的属性:

属性名称 描述
android:orientation 布局方向
android:layout_weight 权重

RelativeLayout

相对布局独有的属性:

属性名称 描述
android:layout_centerHorizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父控件居中
android:layout_alignParentBottom 位于父控件的下边
android:layout_alignParentLeft 位于父控件的左边
android:layout_alignParentRight 位于父控件的右边
android:layout_alignParentTop 位于父控件的上边
android:layout_below 在某控件的下方
android:layout_above 在某控件的的上方
android:layout_toLeftOf 在某控件的左边
android:layout_toRightOf 在某控件的右边
android:layout_alignTop 与指定控件的上边对齐
android:layout_alignLeft 与指定控件的的左边对齐
android:layout_alignBottom 与指定控件的的下边对齐
android:layout_alignRight 与指定控件的的右边对齐

FrameLayout

帧布局与相对布局的区别在于,帧布局内的元素是处于不同层次之间的,而相对布局内的元素是处于同一层的。
FrameLayout无法使用android:layout_centerVertical这样的属性,因为这些属性是RelativeLayout所独有的。FrameLayout需要用gravity或者layout_gravity调整位置。

ImageView

  • 背景图片
    android:background="xxx";
    public void setBackgroundResource(int resId)
  • 前景图片
    android:src="xxx";
    public void setImageResource(int resId)

你可能感兴趣的:(android回顾之二 UI)