yo tengo
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#FFFF00" />
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
</shape>
<TextView
android:background="@drawable/test"
android:layout_height="45dp"
android:layout_width="100dp"
android:text="Moderate"
/>
Así que ahora quiero que esta forma cambie de color según la información que recibo de una llamada de servicio web. Por lo tanto, podría ser amarillo o verde o rojo o lo que sea, dependiendo del color que reciba de la llamada de servicio web.
¿Cómo puedo cambiar el color de la forma? ¿Basado en esta información?
View.getBackground()
devuelve ayGradientDrawable
noShapeDrawable
causa que la aplicación se bloquee en el tiempo de ejecución, debido a una conversión no válida al intentar obtener la referencia y establecer el color mediante programación. [Android Shape doc] ( developer.android.com/guide/topics/resources/… ) afirma: DATATYPE DE RECURSOS COMPILADOS: puntero de recursos a aGradientDrawable
.