2011-05-01 7 views
7

tengo el siguiente código:Cómo quitar el fondo de una vista (normal) (Android)

View view = new View(this); 
view.setBackgroundDrawable(...); 
... 

Y aquí quiero quitar ese fondo.
Simplemente gírelo como estaba antes.

me trataron estos y fallaron:

view.setBackgroundDrawable(null); 
view.setBackgroundColor(0xFF000000); 
view.setBackgroundColor(0x00000000); 

más ideas?

+0

¿Llamar 'invalidate()' para forzar un redibujado hace la diferencia? –

Respuesta

17

view.setBackgroundDrawable(null); debería funcionar.

Usted puede probar uno de estos:

v.setBackgroundColor(Color.WHITE); 
//or 
v.setBackgroundColor(Color.parseColor("#ff0000")); //whatever color 

Asegúrese de que la vista que se va a aplicar el fondo de la instancia es correcta.

1

Esto se debe a que view.setBackgroundColor(int) espera que un recurso de color no sea un valor entero "real". Intenta declararlo en tus colors.xml, mira this. Sin embargo, no estoy muy seguro de lo que quiere decir con "eliminar" el fondo. Si desea que tenga el valor original, le sugiero que almacene el dibujo original (usando getBackground()) en alguna parte. De lo contrario, es muy probable que pierda el formato, ya que la mayoría de los fondos predeterminados en Android son recursos Drawable (selectores), no colores simples.

Cuestiones relacionadas