Thứ Hai, 9 tháng 4, 2018

Tài nguyên Drawable (5) ảnh LayerDrawable trong Android

Tài nguyên LayerDrawable <layer-list>

LayerDrawable là loại Drawable mà nó chứa nhiều phần tử <item> bên trong, mỗi phần tử này biểu diễn một Drawable, chúng tạo thành một lớp hình ảnh. Kết quả vẽ tất cả các lớp đó theo thứ tự là hình ảnh cuối cùng của LayerDrawable
Cú pháp xml tạo ra LayerDrawable như sau:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <!--Drawable của item-->
    </item>

    <item>
        <!--Drawable của item-->
    </item>
    <!-- ... -->
</layer-list>

Thuộc tính của <item> trong LayerDrawable

<item> (lớp) của LayerDrawable bên trong nó có chứa phần tử con là bất kỳ loại Drawable nào đã biết như bitmap, vector ... và có thể thiết lập các thuộc tính như sau:
Thuộc tínhÝ nghĩa
android:bottom
android:top
android:left
android:right
Khoảng cách căn lề về các phía dưới, trên, trái, phải của Layer ví dụ: android:bottom="10dp"
android:paddingBottom
android:paddingTop
android:paddingLeft
android:paddingRight
Khoảng padding theo từng phía các cạnh
android:widthThiết lập chiều rộng của Layer
android:widthThiết lập chiều cao của Layer
Ví dụ LayerDrawable
Có các hình ảnh: face.png flower1.png flower2.png , tải về copy vào thư mục drawable của dự án (nó đã trở thành BitmapDrawable). Giờ ta sẽ tạo ra một LayerDrawable kết hợp từ 3 hình ảnh đó
Tạo file drawable/bglayer.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:width="768px"
        android:height="1280px">
        <shape>
            <gradient
                android:centerX="0.5"
                android:centerY="0.3"
                android:endColor="#b0bec5"
                android:gradientRadius="300dp"
                android:startColor="#fafafa"
                android:type="radial" />
        </shape>
    </item>

    <item
        android:left="10px"
        android:top="300px">
        <bitmap
            android:gravity="right|center"
            android:src="@drawable/face" />
    </item>


    <item
        android:left="10px"
        android:bottom="10px">
        <bitmap
            android:gravity="bottom|left"
            android:src="@drawable/flower1" />
    </item>


    <item
        android:right="-210px">
        <bitmap
            android:gravity="center|right"
            android:src="@drawable/flower2" />
    </item>
</layer-list>
Và đây là kết quả khi sử dụng nó làm nền

Không có nhận xét nào :

Đăng nhận xét

Danh mục Gửi liên hệ

Loading...