2014-04-09 2 views
0

Здесь, в моем проекте, я добавил цвет к своему шару, но он не показывает ... почему? Я опубликовал только ту часть кода, которая имеет смысл для моего вопроса .... Есть ли проблема с методом setColor() или какой-либо другой проблемой ... заранее спасибо за помощь ур ...Почему мой шар не показывает цвет?

AnimationView.java

public class AnimationView extends View{ 
     public AnimationView(Context context, AttributeSet attrs) { 
      super(context, attrs); 
      // TODO Auto-generated constructor stub 
     } 
    private final int FRAME_RATE=15; 
     private Paint paint; 
      private Handler h; 
      Ball myball; 

     int value; 
     public void setString(int value) 
     { 
     this.value = value; 
     System.out.println("value="+value); 
     Animation(); 
    } 
     public void Animation() 
     { 
      h=new Handler(); 
       paint=new Paint(); 
       paint.setColor(Color.BLUE); 
     myball=new Ball(100,100,Color.BLUE,50); 
        myball.setDX(10); 
        myball.setDY(10); 
        myball.setColor(Color.BLUE); 
     } 


     } 
protected void onDraw(Canvas c) 
    { 

c.drawCircle(myball.getX(), myball.getY(),myball.getRadius(), myball.getPaint()); 
h.postDelayed(r, FRAME_RATE); 

    } 
    private Runnable r=new Runnable() 
    { public void run() 
    { invalidate(); 
    } 
    }; 

Ball.java

public class Ball { 

private Point p; 
private int c; 
private int r; 
private int dx; 
private int dy; 
private Paint paint; 
public static int count = 0; 
public Ball(int x,int y,int col,int radius) 
{ 
    p=new Point(x,y); 
    c=col; 
    r=radius; 
    paint=new Paint(); 
    dx=0; 
    dy=0; 
} 

public Paint getPaint() 
{return paint; 
} 
public void setColor(int col) 
{c=col; 
} 
} 

ответ

3

drawCircle принимает цвет от Paint объекта. Измените setColor следующим образом:

public void setColor(int col) { 
    c=col; 
    if (paint == null) 
     paint = new Paint(); 
    paint.setColor(col); 
} 
Смежные вопросы