1. 程式人生 > >安卓學習筆記之———五大布局

安卓學習筆記之———五大布局

首先介紹一下安卓的五大布局分別是什麼?

  • 線性佈局(LinearLayout)
  • 相對佈局(RelativeLayout)
  • 幀佈局(FrameLayout)
  • 表格佈局(TableLayout)
  • 絕對佈局(AbsoluteLayout)

掌握五大布局是學好安卓的基礎,下面就詳細介紹這五大布局:

1. 線性佈局:

    可控制各元件排列的方向,可以是水平方法,也可以是垂直方向。一般當你使用Eclipse建立一個線性佈局時,預設的的是“vertical”。
    設定水平方向排列:android:orientation="horizontal"       
    設定垂直方向排列:android:orientation="vertical" 
    可以通過gravity屬性來設定整個佈局內各元件的對齊方式           
    不過需注意的一點是:android中線性佈局不會自動換行,當個元件一個挨著一個排列佔滿屏幕後,剩下的元件將不會被顯示出來。

2. 相對佈局:

    相對佈局是按照各個元件相對位置來佈局的,例如在某個元件的左邊,右邊,上方或下方。
如果說A元件的位置由B元件位置來決定,那麼就需要先定義好B元件的位置,再定義A元件的相對位置。
相對佈局相對來說是我用的比較多的一種佈局:下面介紹一下它的相關屬性:

**第一類:屬性值為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     離某元素上邊緣的距離 

3. 表格佈局:

    表格佈局是通過行和列來管理各個元件的,它並不需要宣告包含多少行、多少列,而是通過新增TableRow、其它元件來控制行數和列數的。
    一個TableRow就表示TableLayout中的每一行,這一行可以由多個子元素(其它元件)組成。實際上TableLayout和TableRow都是LineLayout線性佈局的子類。且android:layout_width=MATCH_PARENT,android:layout_height=WRAP_CONTENT。所以TableRow實際是一個橫向的線性佈局,且所以子元素寬度和高度一致。
    在TableLayout佈局中,一列的寬度由該列中最寬的那個單元格指定,而該表格的寬度由父容器指定。可以為每一列設定以下屬性:
    Shrinkable  表示該列的寬度可以進行收縮,以使表格能夠適應父容器的大小
    Stretchable 表示該列的寬度可以進行拉伸,以使能夠填滿表格中的空閒空間
    Collapsed   表示該列會被隱藏

4. 幀佈局:

    在幀佈局中所有新增到這個佈局中的檢視都以層疊的方式顯示。第一個新增的控制元件被放在最底層,最後一個新增到框架佈局中的檢視顯示在最頂層,上一層的控制元件會覆蓋下一層的控制元件。這種顯示方式有些類似於堆疊。

5. 絕對佈局:

    一般情況下,在應用程式開發過程中很少使用到該佈局,因為不同的終端裝置螢幕尺寸都有所差別,通過設定絕對位置而控制各個控制元件的位置,在不同的裝置上都會有不同的顯示效果,所以說很難適配,即使你在自己的裝置上顯示效果非常好,但是換成其他裝置,顯示效果就不一定是這樣了。故不推薦使用此佈局。

相關推薦

學習筆記———五大

首先介紹一下安卓的五大布局分別是什麼? 線性佈局(LinearLayout) 相對佈局(RelativeLayout) 幀佈局(FrameLayout) 表格佈局(TableLayout) 絕對佈局

Framework7學習筆記 柵格/網格

布局 學習 blog frame row color gpo 單元 -- 一:柵格布局 我們可以使用 行、列 的形式來排布界面上的div,這就是網格化布局。 柵格布局只需要:用一個row類div來組織一個行;行中各個元素用col-XX指定占據行寬百分比。

學習筆記-網路世界的探究

安卓學習筆記之-網路世界的探究 WebView的用法 1…webView:功能就是在自己的應用程式上嵌入一個瀏覽器,不用啟動瀏覽器的控制元件。 2…webView.getSettings()方法可以去設定瀏覽器的屬性。如 setJavaScripEnable()方法來實現webVie

學習筆記Fragment.

一套類似手機QQ的介面 1。現在activity_main.xml中使用一個如果做動態新增就不要在裡面寫任何內容在後面的子碎片中編寫。如果做靜態就可以直接在裡面寫。緊接著把剛進入時的主介面設計在這個xml中。 2.然後開始分 別建立對應的子佈局建幾個根據你所做的

學習筆記-camera實現圖片的3D旋轉

</pre>這幾天寫了一個關於圖片的3D旋轉的動畫效果,在寫這個動畫的時候,我遇到了許多的問題,在這期間我查詢了許多資料,弄懂了一些東西,也有一些東西沒有弄懂。比如:<p></p><p><span style="fon

學習筆記理解Window與WindowManager

Window的概念 對於Android的Window而言,實際上是一個相對抽象的概念。從Window的定義可以看出,Window是對窗體的一種抽象,是頂級Window的外觀與行為策略。目前僅有的實現類是PhoneWindow,可以使用它來建立Window(對系

學習筆記 -- (安裝環境) Android Studio安裝配置、環境搭建詳細步驟及基本使用 Android Studio和SDK官方開發工具下載 Android Studio教程從入門到精通 Android開發-第一個程式:HelloWorld!

1、下載Android Studio安裝配置、環境搭建詳細步驟及基本使用    https://www.cnblogs.com/yanglh6-jyx/p/Android_AS_Configuration.html https://blog.csdn.net/k491022087/ar

學習筆記自定義介面卡

BaseAdapter:是所有介面卡類的父類,可以對列表項進行最大限度的定製 1.1 自定義介面卡中的方法 getCount getView getItem getItemId 1.2 LayoutInflater(佈局解析器) –LayoutInflater有三種獲得

學習筆記---讓WebView不可滑動(上下左右)

遇到一個需求,原來WebView是可以自動滑動的,但是現在說讓不能WebView的上下左右滑動,就是固定的,檢視到 WebView有幾個與滾動有關的方法,設定之後,但是都無效。如:        

學習筆記】Android Studio第3課——EditText控制元件

EditText和TextView很相似,主要不同的是EditText是使用者可以在上面編輯本文的,而TextView只能用app本身去改變和顯示。做了一個簡單的登入介面:xml程式碼如下<?xml version="1.0" encoding="utf-8"?>

個人學習筆記---第一個Android應用程式

今天是學習Android的第二天,昨天我們主要學習瞭如何配置Android開發環境和第一個Android程式,HELLOWORLD。但是並沒有解釋清楚,我們現在來看一下,適用Eclipse開發Android應用大致需要的步驟: 1.建立1個Android專案 2.在XML佈局

學習筆記(LinearLayout屬性android:orientation)

一. LinearLayout(線性佈局)         <1. LinearLayout又稱作線性佈局,是一種非常常用的佈局。 這個佈局會將它所包含的控制元件按線性排列。預設為horizon

學習筆記(10)-自定義彈出式對話方塊

​ 之前學習彈出式對話方塊的時候,我們可以在AlertDialog中放置我們自己設計的佈局內容,如TextView,EditView,多選框,單選框等等,但是按鈕使用的都是其自帶的PositiveButton和NegativeButton,最多可使用三個按鈕

Java GUI五大

1.預設佈局FlowLayout public class SetFlowLayout { JFrame frame; JButton[] button; SetFlowLayout() {

學習筆記(一)——執行緒的用法及怎樣在子執行緒中更新UI

建立執行緒方法: 1、新建一個繼承自Thread的類MyThread,然後重寫父類的run()方法,在裡面寫要執行的內容; class MyThread extends Thread { @Ove

學習筆記-AsyncTask

AsyncTask是安卓提供的輕量級的非同步類,可以直接繼承AsyncTask,在類中實現非同步操作,並提供介面反饋當前非同步執行的程度(可以通過介面實現UI進度更新),最後反饋執行的結果給UI主執行緒。使用的優點:簡單,快捷,過程可控使用的缺點:在使用多個非同步操作和需要進

Framework7學習筆記導航欄與工具欄的類型

class 文件中 div 工具 gpo 導航 log 不同的 布局 一:布局類型 導航欄、工具欄 有多種布局類型,他們分別有不同的表現效果,主要有:靜態布局、固定布局、穿透布局。 二:靜態布局(少用) 靜態布局的導航欄、工具欄,是寫死在頁面文件中的,

Android自學筆記 Android五大線性佈局的功能、常用屬性、用法

1.介紹:   線性佈局管理器對存放其中的控制元件或佈局採用線性方式管理 2.LinearLayout的常用屬性android:orientation = “vertical” —— 該屬性決定它子類

基礎:Activity基礎、五大

Activity: Activity是Android系統中的四大元件之一,可以用於顯示View。它是一種可以包含使用者介面的元件,主要用於和使用者進行互動。 Activity是有生命週期的,每個Activity在其生命週期中最多可能會有四種狀態: Ac

中的五大詳解

原文轉自:http://blog.csdn.net/llping2011/article/details/9992941?utm_source=tuicool&utm_medium=referral 我們知道Android系統應用程式一般是由多個Acti