Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change shape colors in Drawable?

I have the following button:

<Button
    android:id="@+id/Button_Collect"
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:layout_marginBottom="16dp"
    android:layout_gravity="center_horizontal"
    android:background="@drawable/CollectButtonShape" />

which looks like this:

enter image description here

which consists of the following background drawable:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
  <shape android:innerRadius="0dp" android:shape="ring" android:thicknessRatio="2" android:useLevel="false" >
    <solid android:color="@android:color/transparent" />

    <stroke
        android:width="2dp"
        android:color="#FF27AE60" />
  </shape>
</item>
<item android:top="10dp" android:left="10dp" android:right="10dp" android:bottom="10dp">
    <shape android:shape="oval">
        <solid android:color="#FF27AE60" />
    </shape>
</item>
</layer-list>

How do I programmatically change the colors of the ring and inner circle (I need to do this on the the Touch event)???

like image 413
Maximus Avatar asked Oct 23 '13 16:10

Maximus


1 Answers

Late reply, but I figured out that you can access each layer in a LayerList using FindDrawableByLayerId(). Then I have access to each object and set the appropriate color!

like image 96
Maximus Avatar answered Sep 30 '22 19:09

Maximus