Có cách nào để đặt màu và hình nền cho một nút không? Tôi muốn một nút màu xanh lá cây với một .png minh bạch nhưng có vẻ như bạn chỉ có thể có một hoặc khác.Nút có BOTH màu và hình nền
Trả lời
(Do not) Sử dụng ImageView
Đặt thiết lập của bạn hình ảnh nền nút màu xanh lá cây của bạn như nền, và png trong suốt của bạn như là src. Bạn có thể áp dụng một selector để nền chỉ giống như bạn sẽ đến một nút cũng ...
EDIT: Trên thực tế có một ImageButton đã thực hiện cho điều này, bạn nên sử dụng mà thay thế. Lôi tâm trí tôi.
Vẽ hình ảnh riêng biệt với độ trong suốt và lưu hình ảnh. Để hiển thị các hình ảnh khác nhau cho các trường hợp của hình ảnh đang được nhấn, tập trung, vv .. sử dụng phương pháp sau.
Sử dụng nút hình ảnh với nền là xml hiển thị dưới đây:
`<?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/imagewhenpressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/imagewhenfocused" /> <!-- focused -->
<item android:drawable="@drawable/defaultimage" /> <!-- default -->
</selector>`
Lưu ý: Ở đây, ba hình ảnh -imagewhenpressed.png, imagewhenfocused.png & defaultimage.png và xml này nên được đặt trong thư mục drawable. Nền ImageButton nên được gán cho filename
của xml này như android:background="@drawable/xmlfilename"
Hãy thử này đoạn mã nó làm việc cho tôi :)
<ImageButton
android:id="@+id/button5"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:src="@drawable/settingbtn"
android:background="@drawable/red_color"
/>
Sử dụng một ImageButton
để thay thế.
Bạn có thể đặt nền như bình thường và trong thuộc tính src
bạn có thể chọn hình ảnh. Bạn cũng có thể gây rối với tài sản scaleType
nếu hình ảnh quá nhỏ hoặc quá lớn.
Cảm ơn, tôi đã sử dụng 'Nút' thay vì' ImageButton'. Nó hoạt dộng bây giờ. Tôi hiện đang sử dụng 'ImageButton' với' android: background' cho màu và 'android: src' cho hình ảnh. – gatzkerob