UI
- user interface,UI由view和viewGroup組成
- view是所有視圖空間(包括viewGroup)的基類
- view占據(jù)一塊矩形區(qū)域点骑,并在上面進(jìn)行內(nèi)容繪制
- viewGroup包含view和viewGroup采蚀,用于控制子布局
總結(jié):view負(fù)責(zé)顯示,viewGroup負(fù)責(zé)控制布局
LinearLayout
關(guān)于layout_weight
- 權(quán)重的值
- 等于0(默認(rèn)值):占據(jù)指定的空間
- 大于0:將父控件的可用空間進(jìn)行分割较解,值越大權(quán)重越大占據(jù)比例越大
- 使用場(chǎng)景
- 將布局平均分配
- 垂直或者豎直方向上占據(jù)中間部分的所有空間
需要注意的是,在使用權(quán)重時(shí)较屿,需要將寬度或者高度設(shè)置為0dp铃岔。
在將寬度或者高度設(shè)置為0dp或者wrap_content時(shí)牲距,
線性布局的子視圖寬度或者高度計(jì)算公式為: 子視圖自身的寬度(高度) + 權(quán)重/總權(quán)重 * 父視圖的寬度(高度)
但是如果都設(shè)置為match_parent時(shí),權(quán)重越大逢净,所占比例反而越小哥放。
線性布局獨(dú)有的屬性:
屬性名稱 | 描述 |
---|---|
android:orientation | 布局方向 |
android:layout_weight | 權(quán)重 |
RelativeLayout
相對(duì)布局獨(dú)有的屬性:
屬性名稱 | 描述 |
---|---|
android:layout_centerHorizontal | 水平居中 |
android:layout_centerVertical | 垂直居中 |
android:layout_centerInparent | 相對(duì)于父控件居中 |
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 | 與指定控件的上邊對(duì)齊 |
android:layout_alignLeft | 與指定控件的的左邊對(duì)齊 |
android:layout_alignBottom | 與指定控件的的下邊對(duì)齊 |
android:layout_alignRight | 與指定控件的的右邊對(duì)齊 |
FrameLayout
幀布局與相對(duì)布局的區(qū)別在于歼指,幀布局內(nèi)的元素是處于不同層次之間的,而相對(duì)布局內(nèi)的元素是處于同一層的甥雕。
FrameLayout無法使用android:layout_centerVertical這樣的屬性踩身,因?yàn)檫@些屬性是RelativeLayout所獨(dú)有的。FrameLayout需要用gravity或者layout_gravity調(diào)整位置社露。
ImageView
- 背景圖片
android:background="xxx";
public void setBackgroundResource(int resId) - 前景圖片
android:src="xxx";
public void setImageResource(int resId)