Thứ Hai, 9 tháng 4, 2018

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

Tài nguyên BitmapDrawable

Đây là loại Drawable biểu diễn ảnh bitmap (tức các ảnh pngjpggif) 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" />

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

Đăng nhận xét

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

Loading...