【问题标题】:Android: Boolean安卓:布尔值
【发布时间】:2014-03-18 19:27:49
【问题描述】:

我只在单击按钮时才尝试画一个圆圈。要移动圆圈,必须单击一个按钮才能进行移动。 bclick 的初始值为 false,但是在单击按钮后,bclick 的值一直变为 true。如何使每次画完圆圈后bclick总是设置为false?

我的视图类:

  @Override
        public boolean onTouchEvent(MotionEvent event) {

                x = event.getX();
                y = event.getY();


                switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:


                if (MainActivity.isButtonClicked() == true ){

                                      canvas.drawCircle(x, y, radius, paint)

                                 invalidate();
                              }

                           break;
                      case MotionEvent.ACTION_MOVE:

                          lastx = event.getX();
                          lasty = event.getY();
                if (MainActivity.isMoveButtonClicked() == true && Mainactivity.is ButtonCLicked() == false ){

                                      canvas.drawCircle(lastx, lasty, radius, paint)

                     invalidate();// if this is used, the moving is slow and doesnt move to the exact spot at (lastx, laxyy)
                              }

                           break;
            }

我的主要活动:

boolean bclick =false;
    boolean mbclick =false;

drawbutton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

            bclick = true;

            }


        });

        bclick = false;

                movebutton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                   mbclick = true;

            }


        });

               mbclick = false;


public static boolean isButtonClicked() {
        return bclick;
    }

public static void setButtonClicked(boolean torf)
    {
      bclick = torf;
    }

public static boolean isMoveButtonClicked() {
        return mbclick;
    }

public static void setMoveButtonClicked(boolean torf)
    {
      mbclick = torf;
    }

【问题讨论】:

    标签: android button click boolean


    【解决方案1】:

    你可以创建一个方法来绘制圆圈并检查它,

     if(circleIsDrawn){
    
          bClick = false;
    
    }
    

    【讨论】:

      【解决方案2】:
       @Override
      public boolean onTouchEvent(MotionEvent event) {
      
              x = event.getX();
              y = event.getY();
      
      
              switch (event.getAction()) {
              case MotionEvent.ACTION_DOWN:
      
              if (MainActivity.isButtonClicked() == true ){
      
                                    canvas.drawCircle(x, y, radius, paint)
                                    bClick=false;
                               invalidate();
                            }
      
                         break;
          }
      

      【讨论】:

      • 我尝试过这种方法,但是当我尝试移动圆时(按下另一个按钮后),圆的移动变慢并且不会在最后一次触摸的坐标处停止。我已经用更多代码更新了这个。请指教谢谢。
      猜你喜欢
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多