Код: Выделить всё
class Panel extends View{
public Panel (Context context){… }
@Override
public void onDraw(Canvas c){…}
new CountDownTimer(1000,100){
public void onTick(long millisUntilFinished){
invalidate(); //перерисовать экран
}
public void onFinish(){
this.start(); //по окончанию вызвать повторно
}
}.start();
}
Код: Выделить всё
package com.example.sp2.test3;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.Region;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends Activity {
final int STATUS_DOWNLOAD_FILE = 4; // файл загружен
private static final String TAG = "myLogs";
int[] cats = new int[3];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
setContentView(new DrawView(this));
int[] cats = new int[3];
//Создаем таймер обратного отсчета на 20 секунд с шагом отсчета
//в 1 секунду (задаем значения в миллисекундах):
setContentView(new DrawView(this));
}
class DrawView extends View {
final int STATUS_NONE = 0;
Paint p;
Handler h;
Path path;
Path path1;
public DrawView(Context context) {
super(context);
p = new Paint();
p.setStrokeWidth(3);
p.setStyle(Paint.Style.FILL);
path = new Path();
path1 = new Path();
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawARGB(80, 102, 204, 255);
final int[] cats = new int[3];
// очистка path
// path.reset();
// треугольник
path.moveTo(250, 100);
path.lineTo(300, 200);
path.lineTo(200, 200);
path.close();
h = new Handler() {
public void handleMessage(android.os.Message msg) {
Log.d(TAG, "test - " + msg.what);
// p.setColor(Color.rgb(70, 130, 180));
p.setColor(Color.rgb(cats[0], cats[1], cats[2]));
}
;
};
Thread t = new Thread(new Runnable() {
Message msg;
int m;
@Override
public void run() {
// while (1<2){
for (int i = 1; i <= 70; i++) {
SystemClock.sleep(100);
cats[0] = i;
}
;
for (int i2 = 1; i2 <= 130; i2++) {
SystemClock.sleep(100);
cats[1] = i2;
}
;
for (int i3 = 1; i3 <= 180; i3++) {
SystemClock.sleep(100);
cats[2] = i3;
}
;
SystemClock.sleep(100);
// }
msg = h.obtainMessage(cats[0], cats[1], cats[2]);
h.sendMessage(msg);
}
});
t.start();
canvas.drawPath(path, p);
Log.d(TAG, "test2 - " + cats[0]);
}
//new public CountDownTimer(5,5)
new CountDownTimer(20000, 1000) {
//Здесь обновляем текст счетчика обратного отсчета с каждой секундой
public void onTick(long millisUntilFinished) {
invalidate();
}
//Задаем действия после завершения отсчета (высвечиваем надпись "Бабах!"):
public void onFinish() {
}
} .start();
}
}