2012-03-02 2 views
20

У меня есть ImageButton, и я бы хотел удалить уродливый (IMHO) фон, который окружает изображение. Я мог бы просто добавить ImageView, но их очень сложно установить в макете, как на сером изображении. [Центр тяжести «Центр» не доходит до середины, просто центрирует его по вертикали.)Любой способ удалить серый фон из ImageButtons?

Итак, любой способ удалить это?

enter image description here

+2

Как вы добавляли изображение в изображение кнопки? android: src orroidroid: background –

+0

Я просто перетащил его в Графический редактор, и [это] (http://i.imgur.com/d2VTW.png) подошел, позволив мне выбрать мою фотографию. Но у каждого ImageButton есть этот серый градиентный фон вокруг него. – Cole

ответ

27

Просто используйте android:background="#0000" (# 0000 же с # 00000000) или

ImageButton imageButton = new ImageButton(this); 
imageButton.setBackgroundDrawable(null); 
0

если вы установите

android:background 

вместо

android:src 

он должен переписать на сером фоне

18

фон по умолчанию не является прозрачным.

Итак, просто добавьте прозрачный цвет «# 00000000» в качестве фона, тогда вы сможете его решить.

p.s. # 00000000 - прозрачный цвет

<ImageButton 
android:id="@+id/imageButton1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:src="@drawable/icon" 
android:background="#00000000" 
/> 
+0

Google/Android Должен сказать, что фон по умолчанию не прозрачен, экономит час, глядя на google и stackoverflow –

0

Да. Если вы перетащите ImageButton, который обычно запрашивает ImageSource. Но ImageSource (android: src) не удаляет серый фон. Это изображение, которое должно быть сверху фона:

Вместо этого попробуйте андроид: фон в макете XML.

0

пожалуйста, используйте Draw формат 9-патч для изображения b'use это предусмотрено SDK

1. From a terminal, launch the draw9patch application from your SDK /tools directory. 
2. Drag your PNG image into the Draw 9-patch window (or File > Open 9-patch... to locate the file). Your workspace will now open. 

Левая панель - это область рисования, в которой вы можете редактировать строки для растягиваемых патчей и области содержимого. Правой панелью является область предварительного просмотра, где вы можете просмотреть свою графику при растяжении.

3. Click within the 1-pixel perimeter to draw the lines that define the stretchable patches and (optional) content area. Right-click (or hold Shift and click, on Mac) to erase previously drawn lines. 

4. When done, select File > Save 9-patch... 

Ваше изображение будет сохранено с именем файла .9.png.

3

просто использовать android:background="@null" в вашем XML

+0

Приветствия, которые действительно помогли! –

0

Вы можете использовать

android:background="@drawable/icon"

вместо

android:src="@drawable/icon"

это не даст никакого серого фона для ImageButton.

0

Используйте как этот

android:background="@android:color/transparent" 

android:src="@drawable/icon" 
0

У меня такая же проблема, но теперь она решена. Если вы используете «андроид: фон =« @ null », это не приведет к фону вообще, и пользователю не появится анимация с нажатой клавишей.

Просто добавьте эту строку кода, чтобы сделать кнопку изображения . станет мигать при нажатии Это правильный способ оповещения пользователя кнопка изображение было щелкнул

 **"android:background="?android:selectableItemBackground"** 
2

Вы можете оставить квадратную коробку и просто изменить свой цвет, как это:.

android:backgroundTint="@color/colorPrimary" 

работы красиво

Смежные вопросы