第九课-五大布局
為了適應各式各樣的界面風格,Android系統提供了5種布局,這5種布局分別是:
LinearLayout(線性布局)
TableLayout(表格布局)
RelativeLayout(相對布局)
AbsoluteLayout(絕對布局)
FrameLayout(幀布局)
利用這五種布局,可以在屏幕上將控件隨心所欲的擺放,而且控件的大小和位置會隨著屏幕大小的變化作出相應的調整。
一,LinearLayout(線性布局)
??? 在一個方向上(垂直或水平)對齊所有子元素 一個垂直列表每行將只有一個子元素(無論它們有多寬) 一個水平列表只是一列的高度(最高子元素的高度來填充)
二,TableLayout(表格布局)
把子元素放入到行與列中 不顯示行、列或是單元格邊界線 單元格不能橫跨行,如HTML中一樣 表格布局模型以行列的形式管理子控件,每一行為一個TableRow的對象,當然也可以是一個View的對象。TableRow可以添加子控件,每添加一個為一列。
android:layout_colum官方解釋:The index of the column in which this child should be,也即是設置該控件在TableRow中所處的列。
android:layout_span官方解釋:Defines how many columns this child should span,也即是設置該控件所跨越的列數。
android:collapseColumns官方解釋:The 0 based index of the columns to collapse. The column indices must be separated by a comma: 1, 2, 5.也即是將TableLayout里面指定的列隱藏,若有多列需要隱藏,請用逗號將需要隱藏的列序號隔開。
android:stretchColumns官方解釋:The 0 based index of the columns to stretch. The column indices must be separated by a comma: 1, 2, 5. You can stretch all columns by using the value “*” instead. Note that a column can be marked stretchable and shrinkable at the same time.也即是設置指定的列為可伸展的列,可伸展的列會盡量伸展以填滿所有可用的空間,若有多列需要設置為可伸展,請用逗號將需要伸展的列序號隔開。
android:shrinkColumns官方解釋:The 0 based index of the columns to shrink. The column indices must be separated by a comma: 1, 2, 5. You can shrink all columns by using the value “*” instead. 設置指定的列為可收縮的列。當可收縮的列太寬以至于讓其他列顯示不全時,會縱向延伸空間。當需要設置多列為可收縮時,將列序號用逗號隔開。
三、RelativeLayout(相對布局)
相對布局的子控件會根據它們所設置的參照控件和參數進行相對布局。參照控件可以是父控件,也可以是其它子控件,但是被參照的控件必須要在參照它的控件之前定義。
四、AbsoluteLayout(絕對布局)
絕對布局的子控件需要指定相對于此坐標布局的橫縱坐標值,否則將會像框架布局那樣被排在左上角。手機應用需要適應不同的屏幕大小,而這種布局模型不能自適應屏幕尺寸大小,所以應用的相對較少。下面以一個例子簡單說明絕對布局:
五、FrameLayout(幀布局)?
幀布局是最簡單的布局形式。所有添加到這個布局中的視圖都以層疊的方式顯示。第一個添加的控件被放在最底層,最后一個添加到框架布局中的視圖顯示在最頂層,上一層的控件會覆蓋下一層的控件。這種顯示方式有些類似于堆棧。
轉載于:https://blog.51cto.com/caifly/1574334
總結
- 上一篇: 天黑的时候,我又想起那首歌
- 下一篇: aptana studio 3 汉化