2012-03-02 22 views
20

Tengo un ImageButton y me gustaría eliminar el fondo feo (en mi humilde opinión) que rodea la imagen. Solo podría agregar un ImageView, pero es muy difícil establecerlos perfectamente en un diseño como el gris que se muestra en la imagen. [Gravity "Center" no lo hace ir al centro, simplemente lo centra verticalmente.)¿Hay alguna manera de eliminar el fondo gris de ImageButtons?

¿Hay alguna manera de eliminar eso?

enter image description here

+2

¿Cómo agregaste la imagen al botón de imagen? android: src o android: background –

+0

Acabo de arrastrarlo al editor gráfico y [this] (http://i.imgur.com/d2VTW.png) apareció y me permitió elegir mi imagen. Pero cada ImageButton tiene ese fondo gris degradado a su alrededor. – Cole

Respuesta

27

Sólo tiene que utilizar android:background="#0000" (# 0000 # 00000000 misma con) o

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

si se establece la

android:background 

en lugar de

android:src 

debe sobrescribir el fondo gris

18

El fondo por defecto no es transparente.

Por lo tanto, simplemente agregue el color transparente "# 00000000" como fondo, luego podrá resolverlo.

p.s. # 00000000 es el color transparente

<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 Realmente debería decirle que el fondo predeterminado no es transparente, ahorra una hora buscando en google y stackoverflow –

0

Sí. Si arrastra ImageButton, normalmente solicitará ImageSource. Pero el ImageSource (android: src) no elimina el fondo gris. Es una imagen que debe estar en la parte superior del fondo:

En lugar de eso, pruebe con Android: fondo en el diseño XML.

0

por favor utilice el formato de Draw 9-parche para la imagen b'use es proporcionada por 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. 

El panel izquierdo es su área de dibujo, en la que puede editar las líneas para los parches extensibles y el área de contenido. El panel derecho es el área de vista previa, donde puede obtener una vista previa de su gráfico cuando se estira.

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

Su imagen se guardará con el nombre de archivo .9.png.

3

sólo tiene que utilizar en su android:background="@null" xml

+0

¡Saludos que realmente ayudaron! –

0

Puede utilizar

android:background="@drawable/icon"

en lugar de

android:src="@drawable/icon"

Esto no dará a cualquier fondo gris a ImageButton.

0

uso como esto

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

android:src="@drawable/icon" 
0

estoy teniendo el mismo problema, pero ahora se ha resuelto. Si está usando "android: background =" @ null ", no aparecerá ningún fondo y no aparecerá ninguna animación presionada por el botón.

Al agregar esta línea de código para crear un botón de imagen . convierta en intermitente al hecho clic esta es la forma correcta de alertar al usuario ha hecho clic en un botón de imagen

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

puede mantener la caja cuadrada y sólo cambiar su color como esto:.

android:backgroundTint="@color/colorPrimary" 

obras maravillosamente

Cuestiones relacionadas