0

我想在android中画一个倒数计时器,它看起来有点像一条正在生长的“蛇”(来自90年代的诺基亚游戏)。我可以管理代码的倒计时计时器端,但不知道从哪里开始在屏幕外部绘制细线,随着时间倒计时而增长。

我确实想知道制作很多小图像视图,然后在倒计时发生时取消隐藏它们,但这似乎是实现我想要的一种非常糟糕的方式。

很抱歉这个模糊的问题,但我完全不知道从哪里开始,需要朝着正确的方向前进。

谢谢;

安迪

4

1 回答 1

0

万一有人通过谷歌/搜索找到这个线程是我去的代码:

 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  

基本的,可能不是最漂亮的东西,但它确实适用于我的应用程序。

于 2013-07-21T19:34:37.470 回答