Tùy biến nền Button
Bạn đang đọc: Button trong Android
Màu nền
Có thể gán màu nền cho Button bằng thuộc tính android:background, ví dụ:
android:background="#edffac06"
Cách thiết lập vào background giá trị màu theo HEX, theo giá trị màu như vậy thì nền đã đổi khác như mong ước, tuy nhiên hiệu ứng khi nhấn, hiệu ứng khi Button đang focus bị mất .
Nền Drawable / Ảnh Bitmap
android:background cũng dùng để gán một Drawable cho Button, ví dụ có:
drawable/button_oval_bg.xml
(Drawable vẽ một hình oval)
Gán nó cho Button bằng: android:background=”@drawable/button_oval_bg”
Ảnh PNG 9-PATCH
Xem thêm: Ứng dụng công nghệ ADN tái tổ hợp
Nếu có những ảnh PNG đạng 9 – patch ( tạo ảnh 9 – patch bằng những ứng dụng vẽ ảnh như Photoshop, xem thêm 9 – PATCH ) ví dụ như :
Bạn đưa vào dự án, và gán cho android:background, nó sẽ dựng nền theo dạng 9-patch (thu/phóng
phần nội dung và các phần góc giữ nguyên)
android:background="@drawable/ic_orange_button"
Nền StateListDrawable
Tùy loại phần tử View có nhận các trạng thái: activated
, enabled
, checked
, selected
, focused
…
Với Button chăm sóc đến ba trạng thái :
pressed
khi nhấn vào nútselected
khi chọn nútnormal
khi trạng thái bình thườngdisabled
khi nút bấm bị vô hiệu
Ứng với mỗi trạng thái này, bạn hoàn toàn có thể thiết lập một Drawable để Button vẽ khi ở trạng thái đó. Các trạng thái muốn gán Drawable thì định nghĩa vào một file XML theo cấu trúc :
Với mỗi item định nghĩa ra một Drawable cho trạng thái muốn gán. Ví dụ, selector có 2 phần tử cho trạng thái bình thường và trạng thái khi nhấn
Xem thêm: Ứng dụng công nghệ ADN tái tổ hợp
Trong code trên thì drawable_pressed và button_normal là 2 Drawable, android:state_pressed=”true” cho biết item đó dành cho trạng thái khi pressed
, item không thiết lập state đó là dành cho trạng thái normal.
Ngay trong các item của selector cũng có thể viết XML Drawable mà không cần gán từ ngoài như thuộc tính android:drawable="@drawable/drawable_pressed"
ở trên. Ví dụ sau sử dụng selector với 2 item, một dành cho
ở trạng thái bình thường, một dành cho khi bấm, Drawable của item viết ngay trong item.
drawable/button_3state.xml
Gán vào Button bằng
android:background="@drawable/button_3state"
Tải một số Button định nghĩa sẵn 3 trạng thái
Source: https://mindovermetal.org
Category: Ứng dụng hay