我想在android中画一个倒数计时器,它看起来有点像一条正在生长的“蛇”(来自90年代的诺基亚游戏)。我可以管理代码的倒计时计时器端,但不知道从哪里开始在屏幕外部绘制细线,随着时间倒计时而增长。
我确实想知道制作很多小图像视图,然后在倒计时发生时取消隐藏它们,但这似乎是实现我想要的一种非常糟糕的方式。
很抱歉这个模糊的问题,但我完全不知道从哪里开始,需要朝着正确的方向前进。
谢谢;
安迪
我想在android中画一个倒数计时器,它看起来有点像一条正在生长的“蛇”(来自90年代的诺基亚游戏)。我可以管理代码的倒计时计时器端,但不知道从哪里开始在屏幕外部绘制细线,随着时间倒计时而增长。
我确实想知道制作很多小图像视图,然后在倒计时发生时取消隐藏它们,但这似乎是实现我想要的一种非常糟糕的方式。
很抱歉这个模糊的问题,但我完全不知道从哪里开始,需要朝着正确的方向前进。
谢谢;
安迪
万一有人通过谷歌/搜索找到这个线程是我去的代码:
private class CustomView extends View {
public CustomView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (direction==120){
direction=0;
}
Paint green = new Paint(Paint.ANTI_ALIAS_FLAG);
green.setColor(Color.GREEN);
green.setStrokeWidth(3);
Paint red = new Paint(Paint.ANTI_ALIAS_FLAG);
red.setColor(Color.RED);
red.setStrokeWidth(4);
Paint thickgreen = new Paint(Paint.ANTI_ALIAS_FLAG);
thickgreen.setColor(Color.GREEN);
thickgreen.setStrokeWidth(20);
// thickgreen.setShadowLayer(12, 15, 15, Color.BLUE);
Paint thickred = new Paint(Paint.ANTI_ALIAS_FLAG);
thickred.setColor(Color.RED);
thickred.setStrokeWidth(20);
//thin bar
canvas.drawLine(barxstart, barystart, barxstop, barystop, thickgreen);
if (direction <60 && barxstop<canvas.getWidth()) {
barxstop=barxstop+1; //move 5 pixels right
barxstart=barxstart+1; //move 5 to the right
}
else{
canvas.drawLine(barxstart, barystart, barxstop, barystop, thickred);
barxstop=barxstop-1; //move 5 pixels left
barxstart=barxstart-1; //move 5 to the left
}
// canvas.drawBitmap(bar, barxstart, barystart, green);
direction++;
//mainbar
canvas.drawLine(mainbarxstart, mainbarystart, mainbarxstop, mainbarystop, thickgreen);
if (maindirection==1) {
canvas.drawLine(mainbarxstart, mainbarystart, mainbarxstop, mainbarystop, thickred);
}
if (brainstormlate==1){
//do something
}
invalidate();
}//end ondraw canvas
}//end custom view
基本的,可能不是最漂亮的东西,但它确实适用于我的应用程序。