2012-05-06 3 views

ответ

11

(Не) Используйте ImageView

Установите набор ваш зеленый фон кнопки изображение в качестве фона, и ваш прозрачный PNG как СРК. Вы можете применить селектор на фоне так же, как вы бы к кнопке также ...

EDIT: На самом деле есть ImageButton уже сделано для этого, вы должны использовать это вместо этого. Запамятовал.

+1

Спасибо, я использовал 'Button' вместо' ImageButton'. Он работает сейчас. Теперь я использую 'ImageButton' с' android: background' для цвета и 'android: src' для изображения. – gatzkerob

1

Нарисуйте отдельные изображения с прозрачностью и сохраните изображение. Чтобы показать разные изображения для экземпляров нажатого, фокусированного и т. Д., Используйте следующий метод.

Используйте изображение кнопки с фоном, как показано ниже XML:

`<?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>` 

Примечание: Вот три изображения -imagewhenpressed.png, imagewhenfocused.png & defaultimage.png и этот XML должен быть помещен в выпадающем каталоге. Фон ImageButton должен быть назначен filename этого XML как android:background="@drawable/xmlfilename"

3

Попробуйте этот кусок кода, он работает для меня :)

<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

Используйте ImageButton вместо этого.

Вы можете установить фон как обычно, а в свойстве src вы можете выбрать изображение. Вы можете также испортить свойство scaleType, если изображение становится слишком маленьким или слишком большим.