FrameLayout trong Android
FrameLayout là loại View căn bản, đơn giản nhất. Mặc dù nó có thể chứa nhiều View con bên trong, nhưng mục đích chính thiết kế ra nó để chứa một View, từ đó nó trở thành cơ sở để tạo ra các View khác phức tạp hơn.
Các View con đặt vào FrameLayout nằm chồng nên nhau theo thứ tự cái nào vào trước thì hiện thị trước, vào sau hiện thị sau. và bạn nào từ web qua dễ hình dung là thay vì dùng thuộc tính z-index của css thì bây giừo chúng ta phải dùng code xử lý cái nào có trước cái nào có sau.
Cách sử dụng FrameLayout
Để sử dụng framelayout thì chúng ta thông thường sẽ sử dụng thuộc tính layout_gravity để xác định toạ đôj vị trí mà chúng ta muốn framelayout sẽ hiện thị.
Khi sử dụng thuộc tính gravity thì framelayout sẽ chia bố cục ra làm 6 phần như này:
các giá trị thuộc tính kết hợp trong android:layout_gravity:
giá trị | Vị trí của View con |
---|
bottom | Nằm dưới FrameLayout |
center | Nằm giữa FrameLayout |
center_horizontal | Giữa theo chiều ngang |
center_vertical | Giữa theo chiều đứng |
end | Cuối FrameLayout |
left | Bên trái |
right | Bên phải |
start | Bắt đầu FrameLayout |
top | Trên FrameLayout |
ví dụ như code sau sẽ hiện thị vị trí của Hình ảnh nằm phía trung tâm có 1 cái label chú thích ảnh.
<FrameLayout android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img_frame"
android:layout_gravity="center"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:padding="5dp"
android:textColor="#fff"
android:text="Text lung tung bấm đại"
/>
</FrameLayout>
Kết quả