安卓軟體開發的coding第一步就是設計介面了。
介面設計包括布局和元件,元件按布局要求排列形成介面,而安卓的布局有以下五大布局:
framelayout 框架布局,是布局檔案中預設的最簡單的布局。
所有新增到這個布局中的檢視都以層疊的方式顯示,且元件均顯示在螢幕的左上角。第乙個新增的控制項被放在最底層,最後乙個新增到框架布局中的檢視顯示在最頂層,上一層的控制項會覆蓋下一層的控制項。在非常簡單的介面中常用。
linearlayout 線性布局
在乙個方向上(垂直或水平)對齊所有子元素,乙個垂直列表每行將只有乙個子元素(無論它們有多寬),乙個水平列表只是一列的高度(最高子元素的高度來填充)。是常用的布局。
垂直線性布局:android:orientation="vertical"
水平線性布局:android:orientation="horizontal"
兩者可巢狀使用。
例如:乙個登入介面
relativelayout 相對布局
相對布局的子控制項會根據它們所設定的參照控制項和引數進行相對布局。參照控制項可以是父控制項,也可以是其它子控制項,但是被參照的控制項必須要在參照它的控制項之前定義。個人覺得這種布局和線性布局比較好用,可常用到。
例如:
這是兩個按鈕放在螢幕的左下角和右下角位置,均是以父控制項為參考的,這時沒有必要將子控制項之間再增加相對關係。
下面是相對布局的一些重要屬性:
第一類:屬性值為true或false
android:layout_centerhrizontal 水平居中
android:layout_centervertical 垂直居中
android:layout_centerinparent 相對于父元素完全居中
android:layout_alignparentbottom 貼緊父元素的下邊緣
android:layout_alignparentleft 貼緊父元素的左邊緣
android:layout_alignparentright 貼緊父元素的右邊緣
android:layout_alignparenttop 貼緊父元素的上邊緣
android:layout_alignwithparentifmissing 如果對應的兄弟元素找不到的話就以父元素做參照物
第二類:屬性值必須為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 本元素的右邊緣和某元素的的右邊緣對齊
第三類:屬性值為具體的畫素值,如30dip,40px
android:layout_marginbottom 離某元素底邊緣的距離
android:layout_marginleft 離某元素左邊緣的距離
android:layout_marginright 離某元素右邊緣的距離
android:layout_margintop 離某元素上邊緣的距離
tablelayout(**布局)
**布局模型以行列的形式管理子控制項,每一行為乙個tablerow的物件,當然也可以是乙個view的物件。tablerow可以新增子控制項,每新增乙個為一列,子元件全部按照水平線性排列,並且寬(match parent)高(wrap parent)一致,這樣所有元件就像是排列在乙個**中,單元格可以為空,但是不可以跨列
absolutelayout(絕對布局)
android:layout_x="xdp", android:layout_x="xdp"指定元件的位置,即子控制項需要指定相對於此座標布局的橫縱座標值。由於手機應用需要適應不同的螢幕大小,而這種布局模型不能自適應螢幕尺寸大小,所以應用的相對較少。
具體的布局設計需要根據具體情況來設計,線性布局和相對布局是最常用到的。另外繪圖的元件view或su***ceview若需要顯示在其他元件之下,可在其他元件之前新增,否則可能被其他元件覆蓋。
Android使用者介面 布局
在xml 中宣告布局,在執行時例項化 view 物件 當您編譯應用時,每個 xml 布局檔案都會編譯到乙個 view 資源中。每個檢視物件和 viewgroup 物件都支援各自的各類 xml 屬性。任何檢視物件都可能具有關聯的整型 id,此 id 用於在結構樹中對 view 物件進行唯一標識。可以在...
Android介面布局一 約束布局
原文 一 新增依賴 引入我們的constraintlayout,在build.gradle中加入 compile com.android.support.constraint constraint layout 1.0.2 二 屬性介紹layout constraintright toleftof ...
Android中動態介面布局
第一種 直接用 寫 xml android orientation vertical android layout width fill parent android layout height fill parent android id id layout android layout widt...