FrameLayout là loại layout đơn giản mà các View con chứa bên trong xếp chồng nên nhau và định vị bằng thuộc tính layout_gravity. Loại layout này cũng khá phổ biến và bài này chúng ta cùng tìm hiểu cách dùng nó.

sử dụng FrameLayout trong android

2021-03-17 1997 lượt xem

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
bottomNằm dưới FrameLayout
centerNằm giữa FrameLayout
center_horizontalGiữa theo chiều ngang
center_verticalGiữa theo chiều đứng
endCuối FrameLayout
leftBên trái
rightBên phải
startBắt đầu FrameLayout
topTrê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ả

bài viết trong chủ đề