Android dibujable con parámetros
¿Es posible tener algo como
Dibujable / myshape.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="{0}" /> </shape>
Y luego de la clase java toman estos valores de paso para los parámetros. Algo como
Drawable myshape = ???.getDrawableWithParameters(R.drawable.myshape, 0x00ff00);
Si crea una shape
la manera que ha mostrado en el ejemplo, entonces será accesible como un GradientDrawable
.
GradientDrawable d = (GradientDrawable) getResources().getDrawable(R.drawable.yourid);
Si echa un vistazo a la documentación (enlace anterior) puede ver todas las funciones, a las que puede acceder desde un objeto GradientDrawable
. También puede configurar el fondo y el borde de color y ancho más adelante, mediante programación utilizando este objeto.
No estoy 100% seguro, que cada vez que crea una forma en xml, obtendrá un GradientDrawable
. Necesitaba modificar algunas propiedades en una forma yo mismo, y lo averigué viendo ClassCastExceptions al intentar Drawable
a otros tipos de Drawable
s