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" />