First off, you will only need one image of your loading arcs as they are replicable.
http://developer.android.com/guide/topics/ui/custom-components.html
public class CustomView extends View
{
public CustomView(Context context)
{
super(context);
}
protected void onDraw(Canvas canvas)
{
canvas.drawBitmap(REFERENCETIBITMAPHERE, 0, 0, null);
}
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
setMeasuredDimension(measureWidth(widthMeasureSpec), measureHeight(heightMeasureSpec));
}
private int measureWidth(int measureSpec)
{
int preferred = REFERENCETIBITMAPHERE.getWidth();
return getMeasurement(measureSpec, preferred);
}
private int measureHeight(int measureSpec)
{
int preferred = REFERENCETIBITMAPHERE.getHeight();
return getMeasurement(measureSpec, preferred);
}
private int getMeasurement(int measureSpec, int preferred)
{
int specSize = MeasureSpec.getSize(measureSpec);
int measurement = 0;
switch(MeasureSpec.getMode(measureSpec))
{
case MeasureSpec.EXACTLY:
measurement = specSize;
break;
case MeasureSpec.AT_MOST:
measurement = Math.min(preferred, specSize);
break;
default:
measurement = preferred;
break;
}
return measurement;
}
}
You will need to create your own method to receive some sort of value indicating the loading progress, and then redraw accordingly.
For example:
protected void onDraw(Canvas canvas)
{
// Where loadProgress is an int of some sort.
for(int i = 0; i < loadProgress; i++)
{
canvas.drawBitmap(REFERENCETIBITMAPHERE, REFERENCEBITMAPHERE.getWidth() * i, 0, null);
}
}
I hope this helps. =)