Android開發:介面佈局的基本使用
問題提出
在android開發中,一個好的程式,除了強大的功能以外,還要有一個能吸引別人眼球的介面。縱觀當下流行的諸多Android軟體,那些絢麗多彩,美輪美奐的程式介面與手觸屏完美結合,給我們帶來了不一般的使用者體驗,也把我們帶進了夢幻般的Android世界。那麼,如何開發出這些介面,讓我們的Android軟體在眾多同類軟體中脫穎而出呢?
問題分析
在android開發中,用於介面佈局的控制元件主要在Layouts分類中,常用的有線性佈局控制元件LinearLayout、相對佈局控制元件RelativeLayout、框架佈局控制元件FrameLayout、表格佈局控制元件TableLayout等。本文將簡要介紹下這幾個佈局控制元件,並通過一個例項演示這些控制元件的使用。
問題解決
在Eclipse中,介面佈局有兩種方式,我們可以在Graphical Layout中直接將控制元件拖入視覺化介面,並在Property中對各種屬性進行設定。也可以直接編輯我們的xml檔案,用程式碼進行佈局。如圖:
簡單地說,介面佈局主要就是做兩件事情,一個是安排控制元件順序,另一個就是設定控制元件屬性。控制元件的屬性有很多,且不同控制元件的屬性既有共性也有個性,當然常用的並不多。
- 三個基本屬性
這三個基本屬性分別是id、layout_width、layout_height
id不多說,就是控制元件的編號,最好是一個控制元件一個編號以免引用時出現二義性;layout_ width: 控制元件的寬度;layout_ height: 控制元件的高度。
layout_width和layout_height,都有三個既定值,即”fill_parent”、”match_parent”、” wrap_content”。前兩者含義相同,只是說法不同,如果你的程式需要相容低版本(2.1以下)Android系統,那就使用”fill_parent”,其含義就是與裝載自己的容器相同,即容器有多大空間,控制元件就佔據多大的空間,最大的parent就是手機螢幕。而最後一個” wrap_content”,就是控制元件內容有多大,控制元件就有多大。
除了這三個既定值外,我們還可以用數值任意指定控制元件大小,但必須有單位。
單位符號 |
單位名稱 |
備註 |
mm |
毫米 |
與日常生活中我們說的毫米一樣,物理意義 |
in |
英寸 |
與日常生活中我們說的英寸一樣,物理意義 |
pt |
點 |
1pt=1/72英寸,物理意義 |
px |
畫素 |
即螢幕的實際畫素 |
dp |
裝置獨立畫素 |
使顯示的大小與螢幕密度無關,推薦使用 |
sp |
放大畫素 |
與dp類似,主要用於文字的顯示 |
以一個Button的layout_ width屬性為例,xml程式碼如下:
01 |
<? xml version = "1.0" encoding = "utf-8" ?> |
03 |
android:layout_width = "fill_parent" |
04 |
android:layout_height = "fill_parent" |
05 |
android:orientation = "vertical" > |
06 |
< Button |
07 |
android:id = "@+id/button1" |
08 |
android:layout_width = "wrap_content" |
09 |
android:layout_height = "wrap_content" |
10 |
android:text = "寬度:wrap_content" /> |
11 |
< Button |
|