Есть ли способ установить цвет и background image for a button? Я хочу зеленую кнопку с прозрачным .png, но, похоже, у вас есть только один или другой.Button with BOTH color and background image
ответ
(Не) Используйте ImageView
Установите набор ваш зеленый фон кнопки изображение в качестве фона, и ваш прозрачный PNG как СРК. Вы можете применить селектор на фоне так же, как вы бы к кнопке также ...
EDIT: На самом деле есть ImageButton уже сделано для этого, вы должны использовать это вместо этого. Запамятовал.
Нарисуйте отдельные изображения с прозрачностью и сохраните изображение. Чтобы показать разные изображения для экземпляров нажатого, фокусированного и т. Д., Используйте следующий метод.
Используйте изображение кнопки с фоном, как показано ниже 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"
Попробуйте этот кусок кода, он работает для меня :)
<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"
/>
Используйте ImageButton
вместо этого.
Вы можете установить фон как обычно, а в свойстве src
вы можете выбрать изображение. Вы можете также испортить свойство scaleType
, если изображение становится слишком маленьким или слишком большим.
Спасибо, я использовал 'Button' вместо' ImageButton'. Он работает сейчас. Теперь я использую 'ImageButton' с' android: background' для цвета и 'android: src' для изображения. – gatzkerob