View클래스를 상속해서 onDraw로 사각형 9개를 그렸습니다.
제가하고 싶은 것은 스레드를 사용하여 3초마다 도형색이 바뀌는겁니다.(바뀔때 도형 하나씩 3초마다 랜덤으로)
ㅁㅁㅁ
ㅁㅁㅁ
ㅁㅁㅁ
3초후
ㅁㅁㅁ
ㅁㅁㅁ
ㅁㅁ■
3초후
ㅁㅁㅁ
ㅁㅁㅁ
ㅁ■ㅁ
이런식으로 랜덤하게 색이바뀌게 표현하고 싶습니다.
생각해본거는 스레드로 3초마다 onDraw를 호출하여 겹쳐그리면서 도형 하나만의 색상을 바꾸는 방법과
onDraw로 계속 그려 겹치지 않고 사각형 하나의 좌표를 가지고 사각형 하나의 색상만 바꿔주는 방법이 있을 것 같은데
일단 첫번째 방법으로 해볼려고 했으나 미숙해서그런지 잘안되더라고여ㅠㅠ 방법좀 알려주세요
public class BackActivity extends Activity {
/** Called when the activity is first created. */
Paint pnt = new Paint();
Canvas canvas;
RectF r = new RectF();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView vw = new MyView(this);
setContentView(vw);
final TimerTask m = new TimerTask(){ //타이머 변수 m
@Override
public void run() {
// TODO Auto-generated method stub
//타이머 부분입니다. 여기에 어떤식으로 표현해야되는지 좀 도와주세요
}
};
Timer t = new Timer();
t.schedule(m, 3000);
}
class MyView extends View {
public MyView(Context context) {
super(context);
}
public void onDraw(Canvas canvas) {
//Paint pnt = new Paint();
canvas.drawColor(Color.WHITE);
// Anti-Aliasing 적용.
pnt.setAntiAlias(true);
// 기본 사각형 생성
r.set(25, 125, 75, 175);//좌표
pnt.setStyle(Style.STROKE);//선스타일
canvas.drawRect(r, pnt);//그린다




View.invalidate()를 하면 다시그리기는 합니다.