Android: Frame Layout trong Android
Giải phóng thời gian, khai phóng năng lực
Frame Layout trong Android được thiết kế để tạo một khối khu vực trên màn hình để hiển thị một item. Nói chung, FrameLayout nên được sử dụng để giữ một view con, bởi vì để tổ chức các view con với các kích cỡ khác nhau mà để chúng không chồng chéo lên nhau là khá khó.
Tuy nhiên, bạn có thể thêm nhiều view con vào một FrameLayout và điều khiển vị trí của chúng bên trong FrameLayout bằng việc gán giá trị gravity cho mỗi view con (sử dụng thuộc tính android:layout_gravity).
FRAME LAYOUT
Thuộc tính của FrameLayout trong Android
Dưới đây là một số thuộc tính riêng cho FrameLayout:
Thuộc tính | Miêu tả |
---|---|
android:id | Đây là ID mà nhận diện duy nhất Layout |
android:foreground | Định nghĩa drawable để vẽ qua nội dung và các giá trị có thể là các giá trị màu, trong dạng "#rgb", "#argb", "#rrggbb", hoặc "#aarrggbb" |
android:foregroundGravity | Định nghĩa gravity để áp dụng foreground drawable. Các giá trị có thể là top, bottom, left, right, center, center_vertical, center_horizontal ... |
android:measureAllChildren | Xác định xem có ước lượng tất cả view con không hoặc là trong trạng thái VISIBLE hoặc INVISIBLE khi ước lượng. Mặc định là false |
Ví dụ
Ví dụ sau sẽ đưa bạn qua các bước đơn giản để minh họa cách tạo ứng dụng Android bằng việc sử dụng Frame Layout
Sau đây là nội dung của file MainActivity.java:
package v1study.com.framelayout; import androidx.appcompat.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); } }
Sau đây là nội dung của file res/layout/activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="match_parent" android:contentDescription="@string/logo_v1study" app:srcCompat="@mipmap/logo_v1_regular" tools:srcCompat="@mipmap/logo_v1_regular" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/framelayout_demo" android:textSize="30sp" /> </FrameLayout>
Sau đây là nội dung của file res/values/strings.xml:
<resources> <string name="app_name">FrameLayoutV1Study</string> <string name="logo_v1study">Logo V1Study</string> <string name="framelayout_demo">FrameLayout Demo</string> </resources>
Chạy ứng dụng vừa sửa đổi ở trên:
Giải phóng thời gian, khai phóng năng lực