功夫不負(fù)有心人,終于解鎖了L1的課程,下面就分享一下視頻和查詢資料總結(jié)的知識點。
一翰铡、 ViewGroup
- Android中的View與我們以前理解的“視圖”不同。
- 在Android中讽坏,View比視圖具有更廣的含義锭魔,它包含了用戶交互和顯示,更像Windows操作系統(tǒng)中的window路呜。
- ViewGroup是View的子類迷捧,所以它也具有View的特性,但它主要用來充當(dāng)View的容器胀葱,將其中的View視作自己的孩子漠秋,對它的子View進(jìn)行管理,當(dāng)然它的孩子也可以是ViewGroup類型抵屿。
二庆锦、 LinearLayout(屬于ViewGroup,五大布局中的流式布局)
- android:orientation="vertical"垂直線性布局,"horizontal"水平線性布局
orientation屬性是來規(guī)定LinearLayout怎么對它的子View經(jīng)行排版 - android:gravity="top"(buttom、left轧葛、right搂抒、center_vertical、fill_vertical朝群、center_horizontal燕耿、fill_horizontal、center姜胖、fill誉帅、clip_vertical、clip_horizontal)控制布局中控件的對齊方式右莱。如果是沒有子控件的控件設(shè)置此屬性蚜锨,表示其內(nèi)容的對齊方式,比如說TextView里面文字的對齊方式慢蜓;若是有子控件的控件設(shè)置此屬性亚再,則表示其子控件的對齊方式,gravity如果需要設(shè)置多個屬性值晨抡,需要使用“|”進(jìn)行組合
- android:gravity 與 android:layout_gravity的區(qū)別
android:gravity是指定本元素的子元素相對它的對齊方式氛悬。
android:layout_gravity是指定本元素相對它的父元素的對齊方式则剃。 - android:layout_weight="1"通過設(shè)置控件的layout_weight屬性以控制各個控件在布局中的相對大小,線性布局會根據(jù)該控件layout_weight值與其所處布局中所有控件layout_weight值之和的比值為該控件分配占用的區(qū)域。在水平布局的LinearLayout中有兩個Button如捅,這兩個Button的layout_weight屬性值都為1棍现,那么這兩個按鈕都會被拉伸到整個屏幕寬度的一半。如果layout_weight指為0镜遣,控件會按原大小顯示己肮,不會被拉伸;對于其余l(xiāng)ayout_weight屬性值大于0的控件悲关,系統(tǒng)將會減去layout_weight屬性值為0的控件的寬度或者高度谎僻,再用剩余的寬度或高度按相應(yīng)的比例來分配每一個控件顯示的寬度或高度。
三寓辱、 RelativeLayout(屬于ViewGroup,五大布局中的相對布局)
- RelativeLayout是一種相對布局艘绍,控件的位置是按照相對位置來計算的,后一個控件在什么位置依賴于前一個控件的基本位置讶舰,是布局最常用鞍盗,也是最靈活的一種布局需了。
- 這里將這些屬性分成組跳昼,便于理解和記憶。
1.第一類:屬性值為true或false
android:layout_centerHrizontal水平居中
android:layout_centerVertical垂直居中
android:layout_centerInparent相對于父元素完全居中 android:layout_alignParentBottom貼緊父元素的下邊緣 android:layout_alignParentLeft貼緊父元素的左邊緣 android:layout_alignParentRight貼緊父元素的右邊緣 android:layout_alignParentTop貼緊父元素的上邊緣
2.第二類:屬性值必須為id的引用名
@id/id_name
android:layout_below在某元素的下方
android:layout_above在某元素的的上方
android:layout_toLeftOf在某元素的左邊
android:layout_toRightOf在某元素的右邊
android:layout_alignTop本元素的上邊緣和某元素的的上邊緣對齊 android:layout_alignLeft本元素的左邊緣和某元素的的左邊緣對齊 android:layout_alignBottom本元素的下邊緣和某元素的的下邊緣對齊 android:layout_alignRight本元素的右邊緣和某元素的的右邊緣對齊
3.第三類:屬性值為具體的像素值肋乍,如30dip鹅颊,40px android:layout_marginBottom離某元素底邊緣的距離 android:layout_marginLeft離某元素左邊緣的距離 android:layout_marginRight離某元素右邊緣的距離 android:layout_marginTop離某元素上邊緣的距離
四、內(nèi)外邊距
- 內(nèi)邊距padding:約束的是控件或布局顯示的內(nèi)容距離邊框的距離墓造,沿垂直邊框向內(nèi)壓縮堪伍,padding越大,內(nèi)容顯示控件越忻倜觥帝雇;
- 外邊距margin:這是沿垂直邊框向外延伸的距離, 它的意思就是給控件加了一個一定距離的空白邊蛉拙,顯示效果只與值大小正負(fù)相關(guān)尸闸,與其他元素邊界無關(guān)。