2012-05-06 31 views
7

Có cách nào để đặt màu 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

11

(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.

+1

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

1

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"

3

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

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ác vấn đề liên quan