I have shape in res/drawable/back.xml :

```
<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:innerRadius="85dp"
    android:shape="ring"
    android:thickness="5dp"
    android:useLevel="false">
    <solid
        android:color="#FF0000">
    </solid>
    <size
        android:height="200dp"
        android:width="200dp">
    </size>
</shape>

```

This shape set in background on TextView:

```
 <TextView
        android:id="@+id/fullscreen_content"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:keepScreenOn="true"
        android:textColor="#33b5e5"
        android:textStyle="bold"
        android:textSize="50sp"
        android:gravity="center"
        android:text="@string/dummy_content"
        android:layout_gravity="center"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="105dp"
        android:background="@drawable/back" />

```

I need infinitely change color (random color - is done) of animation on shape.
In the end, I need to ring around the text, which will be constantly animated color change.

*P.S. Sorry for my english. I partly use a translator.* **Thanks!**

Java code:

```
    import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.RectF;
import android.graphics.drawable.GradientDrawable;
import android.os.Bundle;
import android.content.Intent;
import android.view.Display;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import java.util.Random;

public class FullscreenActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fullscreen);
        findViewById(R.id.button3).setOnClickListener(btn3Click);
    }

   public View.OnClickListener btn3Click = new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           TextView textView = (TextView) findViewById(R.id.fullscreen_content);
           GradientDrawable drawable = (GradientDrawable) textView.getBackground();
           drawable.setColor(randColor());
       }
   };
    public int randColor(){
        Random rnd = new Random();
        return Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
    }
}

```

**This effect:**

```html
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
var colours=['#ff3333','#33cc66','#3399cc'];  // List of colors
    var tempID=0;
    var changeInterval=2000;    // Change interval in miliseconds
    var objectID='#bgDiv';      // Object to change colours. 

    $(document).ready(function(){        
        setInterval(function(){
                $(objectID).animate({backgroundColor: colours[tempID]},500);
                tempID=tempID+1;
                if (tempID>colours.length-1) tempID=0;
            },changeInterval);
    });
</script>
<style> 
#bgDiv {
    width: 100px;
    height: 100px;
    background: #3399cc;
    border-radius:100px;
}
</style>
</head>
<body>
 <div id="bgDiv"></div>
</body>
</html>
```