Tôi mới học lập trình. Tôi đang sử dụng Bố cục đồ họa sau đó khi tôi đang đọc tệp xml, tôi thấy FrameLayout. Sau đó, tôi tìm kiếm, nhưng tôi không thể tìm thấy một cái gì đó hữu ích. FrameLayout là gì và nó làm gì?
Tôi mới học lập trình. Tôi đang sử dụng Bố cục đồ họa sau đó khi tôi đang đọc tệp xml, tôi thấy FrameLayout. Sau đó, tôi tìm kiếm, nhưng tôi không thể tìm thấy một cái gì đó hữu ích. FrameLayout là gì và nó làm gì?
Câu trả lời:
Bạn sử dụng FrameLayout để xếp chồng các chế độ xem con chồng lên nhau, với chế độ xem con gần đây nhất ở trên cùng của ngăn xếp. Trong ví dụ bên dưới, TextView là phiên bản mới nhất, vì vậy nó tự động được đặt trên ImageView.
Ví dụ:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/bitmapie" />
<TextView
android:id="@+id/descTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="70dp"
android:background="@android:color/holo_blue_light"
android:padding="10dp"
android:text="TextView placed at the top of the Imageview"
android:textColor="@android:color/white"
android:textSize="22sp" />
</FrameLayout>
Đầu ra:
FrameLayout
là cách triển khai đơn giản nhất của ViewGroup
. Các chế độ xem con được vẽ trong một ngăn xếp, trong đó chế độ xem được thêm mới nhất được vẽ ở trên cùng. Thông thường, bạn có thể sử dụng một trong các cách tiếp cận tiếp theo hoặc kết hợp chúng:
FrameLayout
android:layout_gravity
để điều hướng chúngMột cách tiếp cận phổ biến khác của việc sử dụng FrameLayout
:
Fragment
vật chứaViewGroup
Có thể coi chữ frame
như khung ảnh thông thường. Bạn làm gì với khung hình đó? bạn có thể đặt ảnh trong khung đó theo từng đỉnh một. Tương tự như trong FrameLayout
chúng ta có thể đặt các dạng xem (Bất kỳ bố cục hoặc tiện ích con nào như nút, văn bản, hình ảnh, v.v.) lên trên cùng như @ojonugwa hiển thị cho bạn dạng xem văn bản trên cùng của Hình ảnh.
iframe
như thể tôi đến từ phát triển web. Cảm ơn vì lời giải thích đơn giản nhất.
Bạn có chắc chắn rằng bạn đã tìm kiếm nó không?
Bố cục khung được thiết kế để ngăn một vùng trên màn hình để hiển thị một mục duy nhất. Nói chung, FrameLayout nên được sử dụng để chứa một chế độ xem con, vì có thể khó tổ chức các chế độ xem con theo cách có thể mở rộng đến các kích thước màn hình khác nhau mà không có các chế độ xem con chồng lên nhau.
Tuy nhiên, bạn có thể thêm nhiều trẻ em vào FrameLayout và kiểm soát vị trí của chúng trong FrameLayout bằng cách gán lực hấp dẫn cho từng trẻ, sử dụng thuộc tính android: layout_gravity.
Bí mật của FrameLayout là cách nó bố trí các phần tử con của nó. Mặc dù thông thường được thiết kế để chứa một vật phẩm, nhưng nó sẽ xếp chồng lên nhau một cách vui vẻ. Vì vậy, FrameLayout thực chất là một cách để thao tác thứ tự Z của các khung nhìn trên màn hình.
Điều này cực kỳ hữu ích đối với một số thủ thuật giao diện người dùng từ các yếu tố giống như HUD đến bảng trượt cho đến các chuyển đổi hoạt ảnh phức tạp hơn. Trong bài đăng này, chúng ta sẽ thấy một ví dụ cho từng loại.
FrameLayout được thiết kế để hiển thị một mục duy nhất tại một thời điểm. Bạn có thể có nhiều phần tử trong FrameLayout nhưng mỗi phần tử sẽ được định vị dựa trên phía trên bên trái của màn hình. Các phần tử chồng lên nhau sẽ được hiển thị chồng lên nhau. Tôi đã tạo một bố cục XML đơn giản bằng cách sử dụng FrameLayout để hiển thị cách hoạt động của nó.
Về cơ bản, nó đặt một khung nhìn lên trên một khung nhìn khác, ví dụ:
Thổi phồng văn bản trên hình ảnh
<FrameLayout>
<ImageView>
<Textview>
</FrameLayout>