2011-03-02 4 views
2

У меня есть кнопка с красивым фоном. хорошо. вместо текста в кнопке, я хочу изображение. Я попытался просто изменить его на ImageButton с атрибутом src. когда я это делаю, похоже, что серый серой фон перекрывается за моим селектором, за изображением src.android ImageButton получает серый фон

Когда я возвращаюсь к обычной кнопке, проблема исчезает. то, что я хочу, - это только мой фоновый селектор, плюс изображение src (вместо текста кнопки).

любые идеи?

ответ

7

ImageButton должен иметь андроид: фон установлен.

<ImageButton 
    android:id="@+id/ibArrow" 
    android:layout_width="35px" 
    android:layout_height="50px" 
    android:src="@drawable/arrow" 
    android:background="@drawable/backgroundstate" /> 

И backgroundstate:

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:state_selected="true" android:drawable="@color/transparent" /> 
     <item android:state_pressed="true" android:drawable="@color/transparent" /> 
    <item android:drawable="@color/transparent" /> 
    </selector> 
+0

У меня была такая же проблема с кнопкой изображения .. это работает очень хорошо :) – Ajay

+0

и да закрыть узел селектора. –

0

Я бы сказал, что вы не можете правильно ссылаться на изображение в R.drawable, возможно, вам нужно разместить изображение в чертеже? ImageView работает.

0

Вы можете опубликовать снимок экрана из того, что вы видите? Трудно сказать, что вы говорите, но похоже, что ваш src-образ может не иметь надлежащего альфа-канала. Это PNG с прозрачностью? Убедитесь, что ваше изображение src является правильно сохраненным, прозрачным PNG-изображением.

+0

Вот пример одного из изображений я пытался: HTTP: // cdn1.iconfinder.com/data/icons/humano2/128x128/actions/gtk-media-forward-ltr.png. Чтобы обойти это, я использовал обычную кнопку, удалил текст, обратил изображение через android: drawableTop, а затем раздавил кнопку, вручную установив высоту. метод показывает изображение и фон правильно. Исходя из этого, я полагаю, что изображение правильное. –

+0

Можете ли вы сделать снимок экрана о том, как выглядит проблема? Ваша прозрачность кажется прекрасной. – kcoppock

2

Что @kdumitru сказал, но с правильной таблицей стилей XML:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:drawable="@android:color/transparent" /> 
    <item android:state_pressed="true" android:drawable="@android:color/transparent" /> 
    <item android:drawable="@android:color/transparent" /> 
</selector> 
Смежные вопросы