io ho
<?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"
/>
Quindi ora voglio che questa forma cambi i colori in base alle informazioni che ricevo da una chiamata al servizio web. Quindi potrebbe essere giallo o verde o rosso o qualsiasi altra cosa a seconda del colore che ricevo dalla chiamata serivce web.
Come posso cambiare il colore della forma? Sulla base di queste informazioni?
View.getBackground()restituito unGradientDrawablee non unShapeDrawablearresto anomalo dell'app in fase di runtime, a causa di cast non valido quando si tenta di ottenere il riferimento e impostare il colore a livello di codice. [ Documento Android Shape] ( developer.android.com/guide/topics/resources/… ) afferma: DATATYPE RISORSE COMPILATE: puntatore delle risorse a aGradientDrawable.