android的介面是有布局和元件協同完成的,布局好比是建築裡的框架,而元件則相當於建築裡的磚瓦。元件按照布局的要求依次排列,就組成了使用者所看見的介面。
1.linearlayout,線性布局方式
這種布局比較常用,也比較簡單,就是每個元素佔一行,當然也可能宣告為橫向排放,也就是每個元素佔一列。
linearlayout按照垂直或者水平的順序依次排列子元素,每乙個子元素都位於前乙個元素之後。如果是垂直排列,那麼將是乙個n行單列的結構,每一行只會有乙個元素,而不論這個元素的寬度為多少;如果是水平排列,那麼將是乙個單行n列的結構。如果搭建兩行兩列的結構,通常的方式是先垂直排列兩個元素,每乙個元素裡再包含乙個linearlayout進行水平排列。
linearlayout中的子元素屬性android:layout_weight生效,它用於描述該子元素在剩餘空間中占有的大小比例。加入一行只有乙個文字框,那麼它的預設值就為0,如果一行中有兩個等長的文字框,那麼他們的android:layout_weight值可以是同為1。如果一行中有兩個不等長的文字框,那麼他們的android:layout_weight值分別為1和2,那麼第乙個文字框將佔據剩餘空間的三分之二,第二個文字框將佔據剩餘空間中的三分之一。android:layout_weight遵循數值越小,重要度越高的原則。顯示效果如下:
2、framelayout,單幀布局framelayout是五大布局中最簡單的乙個布局
,在這個布局中,整個介面被當成一塊空白備用區域,所有的子元素都不能被指定放置的位置,它們統統放於這塊區域的左上角,並且後面的子元素直接覆蓋在前面的子元素之上,將前面的子元素部分和全部遮擋。顯示效果如下,第乙個textview被第二個textview完全遮擋,第三個textview遮擋了第二個textview的部分位置。
3、absolutelayout,絕對布局absolutelayout是絕對位置布局
。在此布局中的子元素的android:layout_x和android:layout_y屬性將生效,用於描述該子元素的座標位置。螢幕左上角為座標原點(0,0),第乙個0代表橫座標,向右移動此值增大,第二個0代表縱座標,向下移動,此值增大。在此布局中的子元素可以相互重疊。在實際開發中,通常不採用此布局格式,因為它的介面**過於剛性,以至於有可能不能很好的適配各種終端。顯示效果如下:
4、relativelayout,相對布局relativelayout按照各子元素之間的位置關係完成布局。在此布局中的子元素裡與位置相關的屬性將生效。例如android:layout_below, android:layout_above等。子元素就通過這些屬性和各自的id配合指定位置關係。注意在指定位置關係時,引用的id必須在引用之前,先被定義,否則將出現異常。
relativelayout裡常用的位置屬性如下:
android:layout_toleftof —— 該元件位於引用元件的左方
android:layout_torightof —— 該元件位於引用元件的右方
android:layout_above —— 該元件位於引用元件的上方
android:layout_below —— 該元件位於引用元件的下方
android:layout_alignparentleft —— 該元件是否對齊父元件的左端
android:layout_alignparentright —— 該元件是否齊其父元件的右端
android:layout_alignparenttop —— 該元件是否對齊父元件的頂部
android:layout_alignparentbottom —— 該元件是否對齊父元件的底部
android:layout_centerinparent —— 該元件是否相對于父元件居中
android:layout_centerhorizontal —— 該元件是否橫向居中
android:layout_centervertical —— 該元件是否垂直居中
relativelayout是android五大布局結構中最靈活的一種布局結構,比較適合一些複雜介面的布局。下面示例就展示這麼乙個情況,第乙個文字框與父元件的底部對齊,第二個文字框位於第乙個文字框的上方,並且第三個文字框位於第二個文字框的左方。
5、tablelayout,**布局tablelayout顧名思義,此布局為**布局,適用於n行n列的布局格式。乙個tablelayout由許多tablerow組成,乙個tablerow就代表tablelayout中的一行。
tablerow是linearlayout的子類,它的android:orientation屬性值恒為horizontal,並且它的android:layout_width和android:layout_height屬性值恒為match_parent和wrap_content。所以它的子元素都是橫向排列,並且寬高一致的。這樣的設計使得每個tablerow裡的子元素都相當於**中的單元格一樣。在tablerow中,單元格可以為空,但是不能跨列。
下面示例演示了乙個tablelayout的布局結構,其中第二行只有兩個單元格,而其餘行都是三個單元格。
Android布局(相對布局)
relativelayout相對布局裡常用的位置屬性 2.id型xml屬性 android layout above 該元件位於引用元件的上方 android layout below 該元件位於引用元件的下方 android layout toleftof 該元件位於引用元件的左方 android...
android 命令大全
cd system bin lsandroid本來就是乙個linux作業系統,所以大部分都是linux的命令,如mkdir,ls,netstat,mount,ps 等,這裡就不具體介紹了,主要介紹幾個android特有的。getprop 返回android的所有系統屬性。getevent 列印所有的...
android 許可權大全
在開發android應用的時候經常因為沒有配置許可權會出現這樣那樣的問題,比如經常在使用系統攝像頭的時候沒有在配置檔案裡新增使用攝像頭的許可權,這樣就會呼叫失敗,下面是從網上蒐集的android的許可權,供使用時參考 andorid中permission收集 程式執行需要讀取到安全敏感項必需在and...