Các loại Layout trong lập trình Android

Xem: 1623    Tải: 0   Thảo luận: 0   Mục: Android   Lĩnh vực: Khác

0 điểm   ( 7 đánh giá ) File đã được kiểm thử

1. Relative Layout.

Trong Relative Layout thì các thành phần có trong nó được sắp xếp vị trí thông qua các thành phần xung quanh hay các thành phần bao chứa nó.

Trong ví dụ sau đây thì các thành phần mà tôi khai báo trong Ralative Layout chưa được căn chỉnh nên nó sẽ bị đè lên nhau.

Bạn hoàn toàn có thể căn chỉnh chúng theo ý của mình bằng các đoạn code đơn giản :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical" >
 
<EditText
 android:id="@+id/etUser"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:hint="@string/etUser" />
 
<EditText
 android:id="@+id/etPass"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:hint="@string/etPass"
 android:layout_below="@id/etUser"
 android:inputType="textPassword" />
 
<Button
 android:id="@+id/btLogin"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/TextLogin"
 android:layout_below="@id/etPass"/>
 
<Button
 android:id="@+id/btCanceled"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignBaseline="@+id/btLogin"
 android:layout_alignBottom="@+id/btLogin"
 android:layout_toRightOf="@+id/btLogin"
 android:text="@string/Canceled" />
 
</RelativeLayout>

Và đây là kết quả :

2. Linear Layout

Linear Layout là một loại layout mà bên trong nó các thành phần sẽ được sắp xếp theo 1 chiều hướng nhất định.(theo chiều ngang hoặc theo chiều dọc). Thuộc tình orientation  của lyaout sẽ quy định điều này theo vertical (chiều dọc) hay horizontal ( chiều ngang).

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical" >
 
<EditText
 android:id="@+id/etUser"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:hint="@string/etUser" />
 
<EditText
 android:id="@+id/etPass"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:hint="@string/etPass"
 android:inputType="textPassword" />
 
<Button
 android:id="@+id/btLogin"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/TextLogin" />
 
<Button
 android:id="@+id/btCanceled"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/Canceled" />
 
</LinearLayout>

Kiểm tra đoạn code trên, thuộc tính  android:orientation=”vertical” sẽ quy định các thành phần được sắp xếp theo chiều dọc.

Nếu ta đổi nó thành android:orientation=”horizontal”  thì các thành phần sẽ xếp theo chiều ngang và sẽ bị tràn se ngoài màn hình bên tay phải.

Ta hoàn toàn có thể dùng 1 layout trong một layout để tùy biến giao diện theo ý của mình.

Tương tự ở ví dụ trên ta có thể cho 2 button Login và Canceled vào trong cùng 1 Linear Layout  và để thuộc tính orientation của nó theo chiều ngang :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical" >
 
<EditText
 android:id="@+id/etUser"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:hint="@string/etUser" />
 
<EditText
 android:id="@+id/etPass"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:hint="@string/etPass"
 android:inputType="textPassword" />
 
<LinearLayout android:orientation="horizontal"
 android:layout_width="match_parent"
 android:layout_height="match_parent">
 
<Button
 android:id="@+id/btLogin"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/TextLogin" />
 
<Button
 android:id="@+id/btCanceled"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/Canceled" />
 </LinearLayout>
 
</LinearLayout>

Và kết quả sẽ là :

3. Table Layout.

Tương tự với HTML thì trong Android, Tabler Layout sẽ chia layout ra thành các dòng và cột :

<?xml version="1.0" encoding="utf-8"?>
 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical" >
 
<!-- hàng 1 - với 1 cột -->
 
<TableRow
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:orientation="vertical" >
 
<TextView
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:text="@string/dongMot" />
 </TableRow>
 <!-- hàng 2 với 2 cột -->
 
<TableRow
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:orientation="vertical" >
 
<TextView
 android:layout_width="fill_parent"
 android:background="#a09f9f"
 android:layout_height="wrap_content"
 android:text="@string/DongHaiCotMot" />
 <TextView
 android:layout_width="fill_parent"
 android:background="#a09f00"
 android:layout_height="wrap_content"
 android:text="@string/DongHaiCotHai" />
 </TableRow>
 
</TableLayout>

Trên đây mình chỉ giới thiệu cơ bản về 2 loại Layout hay sử dụng nhất trong lập trình Android

Các loại Layout trong lập trình Android

Các loại Layout trong lập trình Android Đăng ngày 14-02-2014  Trong Relative Layout thì các thành phần có trong nó được sắp xếp vị trí thông qua các thành phần xung quanh hay các thành phần bao chứa nó.Trong ví dụ sau đây thì các thành phần mà tôi khai báo trong Ralative Layout chưa được căn chỉnh nên nó sẽ bị đè lên nhau. 5/10 1623

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 
Hỗ trợ kỹ thuật cho thành viên:
Tổng đài: (+84) 246. 32.979.36
Số di động (Hotline): 0969.091.265
Thời gian làm việc:
Sáng: 8h-12h; Chiều: 13h30-17h30
(Nghỉ chiều T7, CN và các ngày lễ, tết)
Chat với Megacode
https://www.facebook.com/megacodevn
File gợi ý cho bạn
File tải nhiều nhất
Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2016. All rights reserved. Bản quyền thuộc VinaGon
Địa chỉ: Số 38 Hàng Bè, Hàng Bạc, Hoàn Kiếm, Hà Nội.
Văn phòng giao dịch: Phòng 28, Tầng 6, HH1A Linh Đàm, Hoàng Mai, Hà Nội
Email: info@vinagon.com | Website: www.vinagon.com | Điện thoại: (+844) 6. 32.979.36;