Layout cơ bản trong Android 2 - học lập trình andoird cơ bản

Học lập trình Android cơ bản tại Hà Nội tại ITP sẽ cũng cấp cho các bạn những kiến thức cơ bản nhất về lập trình ứng dụng, tạo tiền đề phát triển cho bạn.

Hôm nay chúng ta tiếp tục tìm hiểu về Layout. Layout có những loại nào, cách sử dụng các layout đó như thế nào?



8. Các loại Layout cơ bản



a. FrameLayout:
Đây là loại Layout cơ bản nhất, đặc điểm của nó là khi gắn các control lên giao diện thì các control này sẽ luôn được “neo” ở góc trái trên màn hình, nó không cho phép chúng ta thay đổi vị trí của các control o một theo một Loaction nào đó. Các control đưa vào sau sẽ bị đè lên trên và che khuất control trước (nếu ta không thiết lập transparent cho control sau).
Xét đoạn cấu trúc XML sau:
<?xml version=”1.0″ encoding=”utf-8″?>
<FrameLayout android:id=”@+id/mainlayout” android:layout_height=”fill_parent” android:layout_width=”fill_parent” android:orientation=”vertical” xmlns:android=”http://schemas.android.com/apk/res/android”&gt;

<ImageView android:layout_height=”wrap_content” android:layout_width=”wrap_content” android:padding=”5px” android:src=”@drawable/blue“/>

<ImageView android:layout_height=”wrap_content” android:layout_width=”wrap_content” android:padding=”5px” android:src=”@drawable/red“/>

</FrameLayout>
layout cơ bản học lập trình android

Nhìn vào kết quả, thì hình màu đỏ và màu xanh luôn được “neo” ở góc trái màn hình. Hình màu đỏ đưa vào sau sẽ đè lên trên hình màu xanh.
Chú ý dòng lệnh: android:src=”@drawable/blue” (red) – cái này là ta kéo hình tên blue hoặc red vào thư mục của drawable của ứng dụng.

b. LinearLayout
Layout này cho phép sắp xếp các control theo hai hướng trên giao diện: từ trai qua phải và trên xuống dưới. Bạn có thể dùng margin, gravity, weight để hỗ trợ cho việc thiết kế.

layout cơ bản học lập trình android

Ở đây Tôi không có thời gian nhiều nên chỉ nói đặc điểm chính của LinearLayout, hoặc có thể dùng Properties hỗ trợ sẵn trong Eclipse để thiết lập các thuộc tính cho control
Ví dụ:
+Căn lề các control trên giao diện ta dùng layout_gravity:

layout cơ bản học lập trình android

+ hay để căn lề nội dung bên trong của control dùng gravity

layout cơ bản học lập trình android

Bạn phải so sánh được sự khác biệt giữa Padding và Margin
+ Thay đổi Padding (internal spacing – khoảng cách giữa nội dung bên trong so với đường viền của control)

layout cơ bản học lập trình android


+ Thay đổi Margin (external spacing – khoảng cách giữa control này với control khác)
layout cơ bản học lập trình android

c. TableLayout
Với layout này thì sẽ sắp xếp các control theo dạng lưới (dòng và cột). Nó sẽ xem xét dòng nào có số lượng control nhiều nhất để xác định rằng nó có bao nhiêu cột (lấy dòng có số lượng control nhiều nhất làm số cột chuẩn). 
Muốn trộn các cột thì chúng ta sử dụng layout_span. 
Mã: <TableRow>
<TextView android:text=”URL :” />
<EditText android:id=”@+id/enty” android:layout_span=”3”>
</ TableRow > 
Muốn di chuyển vị trí của control đến một cột bào đó trên 1 dòng thì sử dụng layout_column 

layout cơ bản học lập trình android


Để dãn đều các control, các cell ta sử dụng stretchColumns (ta thường dùng dấu “*”): 
Mã: <TableLayout
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android: stretchColumns=”*”>

d. RelativeLayout:
RelativeLayout cho phép sắp xếp các control theo vị trí tương đối giữa các control khác trên giao diện (kể cả control chứa nó). Thường nó dựa vào Id của các control khác để sắp xếp theo vị trí tương đối. Do đó khi làm RelativeLayout bạn phải chú ý là đặt Id control cho chuẩn xác, nếu sau khi Layout xong mà bạn lại đổi Id của các control thì giao diện sẽ bị xáo trộn (do đó nếu đổi ID thì phải đổi luôn các tham chiếu khác sao cho khớp với Id bạn mới đổi).
Ví dụ về cách sử dụng RelativeLayout (bạn để ý những dòng tô đậm):

layout cơ bản học lập trình android


e. AbsoluteLayout: Cho phép thiết lập các control giao diện theo vị trí tùy thích:

layout cơ bản học lập trình android


Trên đây chúng ta đã xem xét xong qua cách tạo layout và cachs sử dụng một số layout cụ thể. Thông thường thì chúng ta sẽ sử dụng phối hợp nhiều loại layout lại với nhau khi học lập trình android.
Nếu nắm bắt thành thạo và hiểu rõ các loại layout thì quá trình thiết kế giao diện của bạn sẽ rút ngắn thời gian rất nhiều. Cố gắng lên nhé.

0 nhận xét:

Copyright © 2013 ĐÀO TẠO LẬP TRÌNH TẠI HÀ NỘI and Blogger Templates - Anime OST.