Liên hệ
Ủng hộ, đăng ký theo dõi kênh

Tài nguyên Drawable (2) - Sử dụng BitmapDrawable trong Android

Cách sử dụng các loại ảnh bitmap (png, jpg, gif) tạo thành tài nguyên BitmapDrawable trong Android với phần tử bitmap xml

Tài nguyên BitmapDrawable

Đây là loại Drawable biểu diễn ảnh bitmap (tức các ảnh png, jpg, gif) mà bạn đưa vào dự án.

Các ảnh png, jpg, gif mà bạn để trong res/drawable nó là BitmapDrawable có thể sử dụng ngay và nó cũng trở thành nguồn để tạo ra BitmapDrawable mới.

Ví dụ bạn copy ảnh có tên flowericon.png vào thư mục res/drawable : res/drawable/flowericon.png như vậy là bạn đã có một BitmapDrawable để sử dụng như:

Gán làm nền của View: android:background="@drawable/flowericon"

Hoặc đọc trong Code Java

BitmapDrawable bitmap =
        (BitmapDrawable)AppCompatResources.getDrawable(this, R.drawable.flowericon);
//....
myview.setBackground(bitmap);

imageView.setImageDrawable(bitmap);

Tạo BitmapDrawable từ XML <bitmap>

Tạo ra một file res/drawable/bitmapexample.xml rồi nhập vào nội dung như sau:

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/flowericon"
     />

Như vậy bạn đã tạo ra một BitmapDrawable mới phái sinh ra từ ảnh gốc flowericon thiết lập bằng thuộc tính: android:src. Ở ảnh mới này, bạn có thể thiết lập một vài tùy biến bằng một số thuộc tính như sau:

Căn vị trí ảnh với thuộc tính android:gravity gán bằng các giá trị kết hợp: top, left, right, center ...

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/flowericon"
    android:gravity="right"/>

Thiết lập kênh alpha (độ trong suốt) bằng thuộc tính android:alpha gán giá trị từ 0 đến 1

Nhuộm màu ảnh bằng thuộc tính: android:tint, ví dụ: android:tint="#8e24aa"

Cũng có thể điều khiển cơ chế nhuộm màu bằng thuộc tính android:tintMode

Khi kích thước chứa lớn hơn ảnh nguồn có thể thiết lập chế độ lặp bàng các thuộc tính: android:tileModeX android:tileModeY android:tileMode với các giá trị như mirror, repeat,

Ví dụ lặp lại theo phương X

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/flowericon"
    android:tileModeX="repeat" />

Vui lòng đăng ký ủng hộ kênh