Java 如何添加一个计时器,使线路刷新并在每2秒后显示?
我正在制作一个应用程序来制作时钟的指针。也就是说,我在屏幕上画一条简单的线,希望它像时钟的指针一样旋转。我如何使用计时器来做到这一点?(这样线的位置就会刷新)。只有一个端点应该旋转,而另一个端点保持静止。在下面的代码中,我只在屏幕上画了一条线: DrawView.java:Java 如何添加一个计时器,使线路刷新并在每2秒后显示?,java,android,timer,Java,Android,Timer,我正在制作一个应用程序来制作时钟的指针。也就是说,我在屏幕上画一条简单的线,希望它像时钟的指针一样旋转。我如何使用计时器来做到这一点?(这样线的位置就会刷新)。只有一个端点应该旋转,而另一个端点保持静止。在下面的代码中,我只在屏幕上画了一条线: DrawView.java: package LineRefresh.xyz.com; import java.util.Timer; import java.util.TimerTask; import android.content.Context
package LineRefresh.xyz.com;
import java.util.Timer;
import java.util.TimerTask;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class DrawView extends View {
Paint paint = new Paint();
public DrawView(Context context) {
super(context);
}
@Override
public void onDraw(final Canvas canvas) {
paint.setColor(Color.BLACK);
canvas.drawLine(50, 200, 270, 200, paint);
}
}
LineRefresh.java:
package LineRefresh.xyz.com;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
public class LineRefresh extends Activity {
DrawView drawView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
drawView = new DrawView(this);
drawView.setBackgroundColor(Color.WHITE);
setContentView(drawView);
}
}
试着这样做: 私有处理程序mHandler=新处理程序() 在OnCreate或任何要启动计时器的方法中,您可以使用: mHandler.removeCallbacks(mUpdateTimeTask)//在添加新的处理程序之前,请确保删除任何处理程序
mHandler.postDelayed(MethodToDrawClockLine,1000)//它将在1秒后执行 完成后,请记住移除处理程序。 mHandler.removeCallbacks(mUpdateTimeTask) 应该是这样
private Runnable MethodToDrawClockLine = new Runnable()
{
public void run()
{
//execute here your drawing routine.
// after drawing set the timer for another x period of time
mHandler.postDelayed(MethodToDrawClockLine, 1000); //it'll re-execute it after 1sec.
}
}