1.Layout介紹
為適應各種介面風格,滿足開發的需要,Android提供了5種布局方式,分別是LinearLayout(線性布局)、FrameLayout(架構布局)、RelativeLayout(相對布局)、AbsoluteLayout(絕對布局)以及TableLayout(表格版面配置),通過這5種布局我們可以在手機螢幕上隨心所欲的擺放各種控制項。
在Android的系統中,可視化的控制項是從Android.view.View類中繼承而來。控制項的建立方式通常有2種方式:
1、通過在xml布局檔案中配置控制項的各種屬性,然後在程式中載入要使用的控制項。
2、直接在程式中設定控制項屬性,並載入控制項。
xml布局檔案是android系統中定義控制項的常用方法,這樣做的目的與好處是顯而易見的,使程式碼與圖形UI分離,方便代碼及圖形UI的各自維護。
xml布局檔案必須包含在res/layout目錄中,且每一個xml布局檔案的根節點可以是任意的視表徵圖簽。為xml檔案布局中的標籤指定id時需要使使用如下形式:
android:id=“@+id/標籤名稱”
每一個標籤的id都會在R類中產生與之對應的變數,該標籤名稱便儲存在R檔案當中了。
如果是要使用xml布局檔案,則需要在oncreate方法中使用setContentView來載入指定的xml布局檔案。載入方法如下:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); }
2.Layout常用屬性
在Android系統中表示單位長度的方式通常有三種,分別是px、dp、sp。
px表示螢幕實際的象素。例如,320*480的螢幕即意味著該手機螢幕在橫向有320個象素,在縱向有480個象素。dp表示螢幕的物理尺寸,大小為1英寸的1/72。sp是與刻度無關的像素,與dp類似,但是可以根據使用者的字型大小喜好設定進行縮放。
通常,如果設定表示長度、高度等屬性時可以使用dp 或sp。但如果設定字型,則需要使用sp。
1、如何控制某一控制項在父控制項中的相對位置呢?
在Android系統中提供了layout_margin,用來控制某一控制項邊緣相對於父控制項的邊距。
其中,android:layout_marginTop表示某一控制項相對於父控制項頂部的距離。android:layout_marginLeft表示某一控制項相對於父控制項左邊框的距離。android:layout_marginRight表示某一控制項相對於父控制項右邊框的距離。android:layout_marginButtom表示某一控制項相對於父控制項底部的距離。
2、如何控制某一控制項中內容在該控制項中的相對位置呢?
在Android系統中提供了padding,用來控制某一控制項中內容相對於該控制項邊緣的邊距。
其中,android:paddingTop表示某一控制項中的內容相對於該控制項邊緣頂部的距離。android:paddingLeft表示某一控制項中的內容相對於該控制項左邊緣的距離。android:paddingRight表示某一控制項中的內容相對於該控制項右邊緣的距離。android:paddingButtom表示某一控制項中的內容相對於該控制項邊緣底部的距離。
3、android:gravity和android:layout_gravity的區別
android:gravity用於設定View組件的對齊,而android:layout_gravity用於設定Container組件的對齊。