Android UI布局-1.1線性布局(一)-線性布局基礎
android:orientation="vertical"屬性將其指定為垂直線性排列;
android:orientation="vertical"屬性將其指定為水平線性排列;
當指定了方向後,線性布局中的組件就會自動垂直或者水平成一條線,一個挨一個的排列。下面我們先來看一個簡單的例子,並通過這個示例,學習線性布局的基本屬性。
示例1:
\Android Project\app\src\main\res\layout\activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:layout_width="match_parent" android:layout_height="match_parent" android:text="按鈕1" android:id="@+id/button1"/> <Button android:layout_width="match_parent" android:layout_height="match_parent" android:text="按鈕2" android:id="@+id/button2"/> <Button android:layout_width="match_parent" android:layout_height="match_parent" android:text="按鈕3" android:id="@+id/button3"/> </LinearLayout>
以上代碼,就是一個使用線性布局對組件進行布局的例子,該示例的線性布局中,擺放了三個按鈕(Button)組件。下面就以它為例對LinearLayout布局方式做簡單的介紹。該示例的運行效果如下圖所示:
首先我們來看根節點LinearLayout,它有一個屬性“xmlns:android”,用於指定命名空間,根元素必須指定命名空間。
它還有其他的屬性,像orientation、layout_width以及layout_height,這些都是定義在該命名空間中,因此需要在這些屬性前面加上前綴“android:”,表示這個屬性定義在“android”所定義的命名空間,即“http://schemas.android.com/apk/res/android” 。
每個組件都具有android:layout_width和android:layout_height屬性,他們的值可以設置為數字,可選單位有dp、dip和px等,前兩者是一樣的,px是絕對像素,而dip是設備獨立像素(Device Independent Pixels)。
px不利於不同屏幕分辨率的適配,因此Google推薦大家使用dp或者dip為單位。除了數值以外,還有三種常用的取值,分別是wrap_content、match_parent和fill_parent。其中,後兩者是一樣的,以前的老版本使用fill_parent,而後來的版本使用match_parent,他們都表示該組件將盡可能把父控件占滿,與此相對應,而wrap_content則表示只占有足夠自己內容的空間。
LinearLayout的屬性“android:orientation”是指定其中的子組件的排列方式,若指定為“vertical”,則表示子組件垂直排列,每個子組件會占獨立的一行;而指定另一個“horizontal”,它表示子組件水平排列,即每個子組件會占獨立的一列,我們上面示例的代碼中,就是使用的水平排列。大家可以將上面的方向修改哼垂直方向(即vertical),就可以看到下面這個圖的效果。
Android UI布局-1.1線性布局(一)-線性布局基礎