Android开发的六种常用布局
本人是Android小白,剛剛學習Android開發,通過觀看教學視屏和書籍學習,總結下Android開發的小知識,大神勿噴!
第一種:LinearLayout:線性布局
線性布局是按照處置或者水平進行排布的,默認是水平
屬性:orientation:用來指定當前的線性布局的排布方向。
wrap_content:包裹內容
match_parent:匹配父類
margin:外邊距
padding:內邊距
gravity:便是控件的內部內容針對控件本身的對其方式
layout_gravity:表示該控件自身在父類布局中的對齊方式
注:如果線性布局排布方式為水平,那么layout_gravity在水平的方向上就不起作用,只能在垂直的方向上起作用
layout_weight:表示權重的概念,即該百分比的形式進行對齊方式
如果控件劃分的區域為wrap_content,那么權重值越大,所占比例就會越大
如果控件劃分的區域為match_parent,那么權重值越大,所占比例就會越小
思考:在一個頁面中,有一個權重的控件和一個無權重的控件,系統會先給誰分配空間尼?
答:系統肯定先給無權重的控件分配空間,才會得到需要百分比的空間大來進行百分比的劃分。
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical" 7 > 8 9 <Button 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:paddingTop="20dp" 13 android:paddingBottom="20dp" 14 android:layout_marginTop="20dp" 15 android:layout_marginBottom="20dp" 16 android:text="Button1"/> 17 18 <Button 19 android:layout_width="wrap_content" 20 android:layout_height="wrap_content" 21 android:paddingTop="20dp" 22 android:paddingBottom="20dp" 23 android:paddingLeft="30dp" 24 android:paddingRight="30dp" 25 android:layout_gravity="center" 26 android:text="Button2"/> 27 28 </LinearLayout>
第二種:RelativeLayout:絕對布局
按照空間之間的相對位置進行排布,存在一個參照物的概念。
屬性:centerInparent:位于父類的中部
alignParentRight:對齊父類的右方
alignParentLeft:對齊父類的左方
toRightOf:在某個控件的右方
toLeftOf:在某個控件的左方
alignBotton:底部對齊
alignTop:頂部對齊
alignRight:右對齊
alignLeft:左對齊
alignBaseLine:基準線對齊
注:針對相對布局而言,一般都不會過多的給定很多相關聯的屬性,否則耦合性就大大的增加
第三種:TableLayout:表格布局------>繼承LinearLayout
屬性:stretchColumns:拉伸某一列,讓布局顯得不緊湊
shrinkColunms:回縮某一列,讓整體的內容都得以呈現
collapseColumns:隱藏某一列
TableLayout屬于行和列的形式的管理控件,每行為一個TableRow對象
TableLayout不會生成邊框
注:TableRow的寬和高可以不指定,系統會自動給定對應的寬和高
第四種:FrameLayout:幀布局
幀布局中的每一個組件都代表一個畫面,用該布局可以實現動畫效果
1.默認按照左上角(0,0)開始排布
2.在幀布局中定義的控件每一個都是以畫面的形式進行呈現
3.最開始定義的控件出現在最下方那個,最后定義的控件出現在最上面。
注:幀布局可以使用在手機聯系人的導航顯示字母的呈現
幀布局使用在幀動畫
第五種:AbsolutiveLayout:絕對布局
又叫坐標布局,可以直接指定子元素的絕對位置
特點:這種布局簡單直接,直觀性強
使用中一般通過Layout_x和Layout_y來指定對應的控件存放的位置
缺點:不利于屏幕的適配
第六種:GridLayout:網格布局
Android4.0以上的版本出現,可以實現合并行合并列的效果
屬性:layout_columnSpan:擴展列的數目
layout_rowSpan:擴展行的數目
layout_gravity:填充方式(fill)
columnCount:存在多少列
RowCount:存在多少行
注:GridLayout和TableLayout有什么不同?
TableLayout定義TableTRow來呈現內容,GridLayout中可以定義控件來直接使用
表格布局中只能 合并列不能合并行,但是在網格布局中既能合并列也能合并行
總結
以上是生活随笔為你收集整理的Android开发的六种常用布局的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: netCDF4 处理nc文件总结
- 下一篇: Android:高通平台Camera H