2015-03-11 4 views
-1

J'ai besoin d'une bonne ressource comme un tutoriel ou un exemple de code qui dessinerait un cercle en expansion d'épaisseur différente. Pour être exact, un petit cercle complet qui s'étendrait et se rétrécirait au fil du temps comme quelques secondes.Android UI: Vous cherchez à dessiner une ciricule en expansion

Merci pour l'aide.

Je suis relativement nouveau à ce sujet et donc je voudrais demander de l'aide à ce sujet.

Merci.

Répondre

1

Cette classe vous aidera:

public class BallView extends View { 

public float x; 
public float y; 
private final int r; 
public int color; 

public void setColor(int color) { 
    mPaint.setColor(color); 
} 

@Override 
public float getX() { 
    return x; 
} 

@Override 
public void setX(float x) { 
    this.x = x; 
} 

@Override 
public float getY() { 
    return y; 
} 

@Override 
public void setY(float y) { 
    this.y = y; 
} 

public int getR() { 
    return r; 
} 

private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); 


//construct new ball object 
public BallView(Context context, float x, float y, int r) { 
    super(context); 
    //color hex is [transparncy][red][green][blue] 
    mPaint.setColor(0xFF15FFD4); //not transparent. color is white 
    this.x = x; 
    this.y = y; 
    this.r = r; //radius 
} 

//qcalled by invalidate() 
@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.drawCircle(x, y, r, mPaint); 
} 

} 

Vous pouvez l'utiliser pour dessiner une balle dans votre activité principale en utilisant mainView.addView(mBallView) pour l'ajouter à la vue et BallView.invalidate de tirer réellement et selon ce que les mécanismes que vous voulez Vous pouvez utiliser la méthode setter pour définir le rayon du cercle au fur et à mesure que le temps passe ou que vous le souhaitez. Assurez-vous d'utiliser un Timer qui appelle RedrawHandler.post() et redessine la vue avec les valeurs de rayon mises à jour.