Hướng dẫn Dùng hình ảnh thay cho các đối tượng trong android

Mục tiêu: Chúng ta sẽ dùng hình ảnh bên ngoài để thay đổi hoàn toàn hình dạng của đối tượng.

Chuẩn bị sẵn 3 tấm hình (kích thước vừa phải) để thay cho 3 trạng thái của button ở đây mình dùng 3 tấm hình để thay thế cho 3 trạng thái của button như sau:
Hình bình thường (tên: icon.jpg)
Hình khi nhận focus (tên: icon_hightlight.jpg)
Hình khi được chọn (tên: icon_selected.jpg)

Chép 3 tấm hình này vào thư mục res\drawable-hdpi.

Tạo 1 file xml theo kiểu drawable và có thẻ gốc là selector (cách tạo xem bài khai thác resource color, drawable) đặt tên button_img.xml. Mở file xml vừa tạo lên và viết thêm như sau:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item 
        android:state_pressed="true"
        android:drawable="@drawable/icon_selected" />
    <item
        android:state_focused="true"
        android:drawable="@drawable/icon_hightlight" />
    <item
        android:drawable="@drawable/icon" />

</selector>

Chú ý: Không được thay đổi thứ tự các item

Mở file main.xml, tìm đến button, bỏ thuộc tính text, sửa background thành @drawable/button_img (button_img chính là file xml mà ta đã tạo ở trên).

Bạn chạy và thấy nút icon đã dùng hình để thay thế, bạn thử click chuột vào để thấy hình đổi. Chú ý hình của trạng thái state_focused chỉ thấy khi dùng bàn phím ảo

Chạm vô