2017-07-31 10 views
0

Je veux modifier mon exécution personnalisable de la couleur de la forme de dessin personnalisable, alors comment puis-je changer cette couleur unie voir ci-dessous quel dessin que j'ai créé.Modifier la couleur de la forme à partir de l'exécution par programme dessinable personnalisable?

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:id="@+id/gradientDrawble" 
     > 
     <selector> 
      <item 
       android:state_selected="true" 
       > 
       <shape 
        android:shape="oval"> 
        <solid 
         android:color="@color/colorCrownCandy"/> 
       </shape> 
      </item> 

      <item > 
       <shape 
        android:shape="oval"> 
        <padding 
         android:bottom="10dp" 
         android:left="10dp" 
         android:right="10dp" 
         android:top="10dp"/> 
        <solid 
         android:color="@color/colorCrownCandy" 
         /> 
       </shape> 
      </item> 
     </selector> 

    </item> 
    <item android:drawable="@drawable/ic_homemenu" 
     /> 
</layer-list> 
+0

@Abhi Oui, il est la couleur de color.xml mais j'ai beaucoup de couleurs et différents types de dessinables si je veux changer cette couleur solide ainsi seulement 1 pour le travail drawable tout juste nécessaire de changer la couleur – Mahesh

+0

peut-être que [cela] (https://stackoverflow.com/a/39364523/5015207) aidera? – 0X0nosugar

Répondre

0

Essayez ceci:

// The "view" is the one for which you are applying the drawable as background. 

GradientDrawable backgroundForShape= (GradientDrawable)view.getBackground(); 
backgroundForShape.setColor(COLOR.RED); 

// You can specify the color you want. The color defines in colors.xml 
backgroundForShape.setColor(ContextCompat.getColor(context, R.color.yourColor));