2012-06-08 9 views
17

Hola tengo un myshape.xml dibujable, contiene un <shape> y no puedo configurar un android: id para las formas.Android establece la forma XML como dibujable programáticamente

En mi código que desea establecer el fondo de una vista a este archivo usando

catAll.setBackgroundDrawable(getResources().getDrawable(R.id......???));

donde myshape.xml no aparece en mi archivo de R porque no tiene ID. y no puedo configurar id para objetar

En mi XML, configuro la forma simplemente escribiendo el nombre del recurso dibujable. Pero necesito hacer esto programáticamente.

Respuesta

29

No necesita obtener el dibujo usted mismo. Use este lugar:

catAll.setBackgroundResource(R.drawable.myshape); 

Para referencia futura, si lo hace deseo de conseguir el torreón estirable en cuenta que dibujables vivo en el R.drawable espacio de nombres. Por lo que su código se convirtió en:

getResources().getDrawable(R.drawable.myshape); 

Esto es similar a lo que hace en su XML:

@drawable/myshape 

en lugar de

@id/myshape 
+0

Señalando el espacio de nombres "R.drawable" fue clave , gracias K-ballo! –

+0

ID getDrawable (id) ahora privado. –

Cuestiones relacionadas