CĂN BẢN
INTENTS
GIAO DIỆN
CÁC KHÁI NIỆM
VÍ DỤ
TÀI LIỆU
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

LinearLayout trong Android

Ở bài trước chúng ta đã tìm hiểu sơ qua về các loại layout trong Android. Trong số đó, LinearLayout là một layout mà nó sắp xếp các view con một cách liên tục theo chiều ngang hoặc đứng, và ta có thể điều chỉnh kích thước view con theo giá trị trong số layout_weight.

Vậy cách sử dụng LinearLayout như thế nào thì chúng ta cùng tìm hiểu ngay nhé. Lưu ý là nếu bạn chưa biết về layout thì hãy đọc từ bài 1 của series này để hiểu rõ hơn về cấu trúc Android.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Giới thiệu về LinearLayout trong Android

Trong Android, LinearLayout là một lớp con của Viewgroup , được sử dụng để hiển thị tất cả các View con theo chiều ngang hoặc chiều dọc dựa trên thuộc tính android:orientation.

Sau đây là minh họa của linear layout trong Android.

android linearlayout example diagram png

Trong LinearLayout, các View con được sắp xếp liên tục từng View một, vì vậy với giá trị horizontal thì layout có một hàng gồm nhiều cột, và với giá trị vertical thì layout có một cột gồm nhiều hàng.

2. Khai báo LinearLayout trong Android

Sau đây là cách chúng ta khai báo LinearLayout trong ứng dụng Android.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <!-- Add Child Views Here -->
</LinearLayout>

Theo đoạn code trên, ở đây chúng ta đã xác định orientation vertical, vì vậy điều này sẽ căn chỉnh tất cả layout / view con của LinearLayout theo chiều dọc.

3. Ví dụ về LinearLayout trong Android

Sau đây là ví dụ về việc tạo một LinearLayout trong ứng dụng Android.

Tạo một ứng dụng Android mới và đặt tên là LinearLayout.

Bây giờ mở file activity_main.xml từ đường dẫn \ res \ layout và viết code như dưới đây

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:orientation="vertical" >
    <EditText
        android:id="@+id/txtTo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="To"/>
    <EditText
        android:id="@+id/txtSub"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Subject"/>
    <EditText
        android:id="@+id/txtMsg"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="top"
        android:hint="Message"/>
    <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="Send"/>
</LinearLayout>

Khi chúng ta đã tạo xong layout, ta cần tải XML layout resource từ phương thức callback onCreate () của chúng ta. Mở file MainActivity.java từ đường dẫn \ java \ com.tutlane.linearlayout và viết code như dưới đây.

MainActivity.java

package com.tutlane.linearlayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Theo code ở trên, chúng ta đang gọi layout bằng phương thức setContentView với tham số R.layout.layout_file_name. Ở đây, tên file xml là activity_main.xml, vì vậy chúng ta đã sử dụng R.layout.activity_main.

Nói chung, trong khi khởi chạy activity, phương thức gọi lại onCreate () sẽ được gọi bởi framework của Android để lấy layout cần thiết cho activity đó.

4. Kết quả của ví dụ LinearLayout trong Android

Khi chạy ví dụ trên bằng thiết bị ảo Android (AVD), ta sẽ nhận được kết quả như hiển thị bên dưới.

android linearlayout example output png

5. Thuộc tính Weight trong Layout

Theo ví dụ trên, chúng ta đã sử dụng thuộc tính weight ( android : layout_ weight ) trong view con. Trên thực tế, thuộc tính này được sử dụng bởi các view con để chỉ định khoảng trống mà View sẽ chiếm trên màn hình. Nếu chúng ta gán giá trị weight lớn hơn cho view con, thì nó sẽ mở rộng để lấp đầy không gian còn lại trong view cha.

Theo ví dụ trên, chúng ta đã sử dụng ba trường text và chúng ta đã gán giá trị weight cho chỉ một trường text. Hai trường text không có weight sẽ chỉ chiếm diện tích cần thiết cho nội dung bên trong của nó .Trường text có giá trị weight sẽ mở rộng để lấp đầy không gian còn lại sau khi cả ba trường được định chừng.

Đây là cách sử dụng LinearLayout trong các ứng dụng Android để hiển thị tất cả các View con theo chiều ngang hoặc chiều dọc dựa trên thuộc tính orientation.

Cùng chuyên mục:

FrameLayout trong Android

FrameLayout trong Android

Trong các UI Layout, FrameLayout là loại Layout đơn giản nhất, xem ngay tại đây

TableLayout trong Android

TableLayout trong Android

Trong bài này chúng ta sẽ tìm hiểu TalbeLayout trong Android

Relative Layout trong Android

Relative Layout trong Android

Trong bài này chúng ta sẽ tìm hiểu RelativeLayout trong Android

UI Layout trong Android

UI Layout trong Android

Trong bài này chúng ta sẽ tìm hiểu về UI Layout trong Android

View và ViewGroup trong Android

View và ViewGroup trong Android

Các thành phần cơ bản để xây dựng giao diện người dùng (UI) trong Android…

Intent Filters trong Android

Intent Filters trong Android

Trong bài này chúng ta sẽ tìm hiểu về Intent Filter trong Android

Explicit Intents trong Android

Explicit Intents trong Android

Trong bài này chúng ta sẽ tìm hiểu một loại Intent mới trong Android đó…

Implicit Intents trong Android

Implicit Intents trong Android

Trong bài này chúng ta sẽ tìm hiểu Implicit Intent trong Android

Cấu trúc thư mục Project Android

Cấu trúc thư mục Project Android

Trong bài này chúng ta sẽ tìm hiểu cấu trúc thư mục của một project…

Giới thiệu Intent trong Android

Giới thiệu Intent trong Android

Trong Android, Intent là những tin nhắn không đồng bộ cho phép các component

Fragment trong Android

Fragment trong Android

Trong bài này chúng ta sẽ tìm hiểu một khái niệm mới trong lập trình…

Services trong Android

Services trong Android

Trong bài này chúng ta sẽ tìm hiểu Services trong Android.

Broadcast Receiver trong Android

Broadcast Receiver trong Android

Bài này sẽ tìm hiểu Broadcast Receiver trong Android.

Content Providers trong Android

Content Providers trong Android

Bài này chúng ta sẽ tìm hiểu về content provider trong Android, nó đóng vai…

Activity trong Android

Activity trong Android

Trong Android, Activity biểu thị một màn hình đơn với giao diện người dùng (UI)…

Component trong một ứng dụng Android

Component trong một ứng dụng Android

Tạo trình giả lập Android hoặc Tạo AVD (Thiết bị ảo Android)

Tạo trình giả lập Android hoặc Tạo AVD (Thiết bị ảo Android)

Thiết bị ảo Android (AVD) là một trình giả lập được sử dụng để sao…

Chương trình

Chương trình "Hello World" Android

Bằng cách sử dụng IDE Android Studio (Integrated Development Environment tạm dịch :Môi trường phát…

Cấu trúc hệ điều hành Android

Cấu trúc hệ điều hành Android

Trong bài này chúng ta sẽ tìm hiểu một chút về cấu trúc của hệ…

Cài đặt Android Studio từng bước có hình ảnh minh họa

Cài đặt Android Studio từng bước có hình ảnh minh họa

Trong bài này mình sẽ hướng dẫn các bạn cách download và cài đặt Android…

Top