Linear Layout
LinearLayout là một ViewGroup hiển thị thành phần trong linear directorion(học tiếng anh luôn), bao gồm chiều ngang và chiều dọc.
Bạn nên cẩn thận trong việc sử dụng các LinearLayout. Nếu bạn bạn tổ hợp nhiều LinearLayouts, bạn có thể xem xét việc sử dụng RelativeLayout.
- Tạo một project mới với tên : HelloLinearLayout.
- Open file
res/layout/main.xml
và chèn đoạn mã sau:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"> <TextView android:text="red" android:gravity="center_horizontal" android:background="#aa0000" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1"/> <TextView android:text="green" android:gravity="center_horizontal" android:background="#00aa00" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1"/> <TextView android:text="blue" android:gravity="center_horizontal" android:background="#0000aa" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1"/> <TextView android:text="yellow" android:gravity="center_horizontal" android:background="#aaaa00" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1"/> </LinearLayout> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"> <TextView android:text="row one" android:textSize="15pt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> <TextView android:text="row two" android:textSize="15pt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> <TextView android:text="row three" android:textSize="15pt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> <TextView android:text="row four" android:textSize="15pt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"/> </LinearLayout> </LinearLayout>
Kiểm tra file XML cẩn thận. Đó là root LinearLayout được xác định các đối tượng theo chiều thẳng đứng — tất cả các con Views(từ 2 trở lên) được xếp chồn lên nhau theo chiều dọc. Con(thành phần) đầu tiên là một LinearLayout khác được sử dụng theo chiều ngang và con thứ 2 là mộtLinearLayout
sử dụng đối tượng theo chiều ngang. Mỗi LinearLayout lồng nhau sẽ chứa một vài TextView , mỗi cái là một đối tượng với mỗi thành phần khác trong cái được xác định bởi parent LinearLayout(cha-con trong OOP)(tìm hiểu một chút về OOP nếu không học java là một cực hình.
- Bây giờ mở
HelloLinearLayout.java
và nạpres/layout/main.xml
trong hàmonCreate()
:public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }
setContentView(int)
sẽ load file giao diện choActivity
, xác định nguồn ID —R.layout.main
tham chiếu tới tệp tinres/layout/main.xml
.
- Run the application.
Chú ý bằng cách nào để xác định thuộc tính XML cho mỗi 'hành động'( hành động của OOP) của View. Hãy thử các giá trị khác nhau của android: layout_weight để xem được thực tế là để ước lượng chiều cao cơ bản cho mỗi 'trọng lượng' . Xem Common Layout Objects về LinearLayout xử lý thuộc tính android: layout_weight.
No comments:
Post a Comment