Tìm hiểu về FrameLayout trong Android

FrameLayout trong Android cũng được gọi UI Layout. Vậy FrameLayout là gì? Có mấy cách khai báo FrameLayout? Sử dụng FrameLayout như thế nào?

Tìm hiểu về FrameLayout trong Android

Bây giờ tôi cùng các bạn sẽ cùng nhau tìm hiểu về FrameLayout trong Android.

1. FrameLayout trong Android là gì?

FrameLayout trong Android là một view group thuộc loại layout đơn giản, được sử dụng để khoanh vùng một khu vực nào đó để hiển thị duy nhất một view con. Tuy nhiên bạn cũng có thể sử dụng nhiều view con vào FrameLayout với thuộc tính android:layout_gravity.

2. Cú pháp khái báo FrameLayout trong Android

FrameLayout trong Android được khai báo như sau.

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
//TODO
</FrameLayout>

3. Các thuộc tính của FrameLayout trong Android

Một số thuộc tính quan trọng của FrameLayout tôi đã liệt kê ở dưới.

Thuộc tính Mô tả
android:id ID là duy nhất để nhận diện Layout
android:foreground Xác định drawable để vẽ lên nội dung và giá trị có thể có thể là một trong các giá trị màu dưới dạng “#rgb”, “#argb”, “#rrggbb” hoặc “#aarrggbb”.
android:foregroundGravity Xác định gravity để áp dụng cho nền trước có thể vẽ được. Gravity mặc định sẽ lấp đầy, giá trị có thể là trên cùng, dưới cùng, bên trái, bên phải, giữa, center_vertical, center_horizontal…
android:measureAllChildren Xác định xem có đo lường tất cả children hay chỉ những children ở trạng thái VISIBLE hoặc INVISIBLE, mặc định là FALSE.

4. Ví dụ sử dụng FrameLayout trong Android

Để hiểu rõ hơn về FrameLayout trong Android mới các bạn cùng tôi đến với ví dụ sau. Và đây là source code ví dụ sử dụng FrameLayout trong Android.

Sau đây là 5 bước chuẩn để thực hiện quá trình tạo Project sử dụng FrameLayout.

Bước 1: Khởi tạo project với tên FrameLayoutExample.

Chọn File >> New >> New Project. Xuất hiện form và đặt tên project FrameLayoutExample sau đó click Finish.

Cấu trúc project FrameLayoutExample như sau.

Tìm hiểu về FrameLayout trong Android

Bước 2: Vào res >> layout >> frame_layout_activity.xml và thêm vào đoạn code dưới đây.

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/frameImage"
        android:layout_width="300dp"
        android:layout_height="544dp"
        android:src="@drawable/ic_launcher_tvd"
        android:layout_gravity="center"
        android:clickable="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="#ff0000"
        android:text="@string/tv_teamvietdev"
        android:textSize="30sp"
        android:textStyle="normal"
        android:visibility="visible" />
</FrameLayout>

Bước 3: Mở file AbsoluteLayoutActivity.java và thêm đoạn code sau đây vào.

package com.teamvietdev.framelayoutexample;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class FrameLayoutActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.frame_layout_activity);
    }
}

Bước 4: Mở file AndroidManifest.xml và dán đoạn code sau đây vào.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.teamvietdev.framelayoutexample">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FrameLayoutActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Bước 5: Sau cùng vào res >> values >> strings.xml và dán đoạn code sau đây vào.

<resources>
    <string name="app_name">Frame Layout Example</string>
    <string name="tv_teamvietdev">TEAM VIET DEV</string>
</resources>

Kết quả chạy ví dụ sử dụng FrameLayout trong Android như sau.

Tìm hiểu về FrameLayout trong Android

Lời kết: Sau khi đã tìm hiểu về FrameLayout trong Android các bạn đã phần nào làm quen với UI Layout trong Android, UI Layout là gì?. Ngoài ra các bạn có thể xem thêm các nội dung khác trong chuyên mục lập trình Android được chia sẻ với Team Việt Dev.

Xem thêm các UI Layout khác tại đây.

Sử dụng Linear Layout trong Android

Sử dụng Relative Layout trong Android

Sử dụng Table Layout trong Android

Sử dụng Absolute Layout trong Android

Đang cập nhật…

(Tác giả: Team Việt Dev)

Bình luận