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?
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.
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.
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)