0

ゆっくり直線が引けない!ゆっくりスライドすると、直線ではなく波線になります。

「ポインタ位置」ツールを使用してポイントを確認しようとしましたが、同じ結果が得られました。しかし、私が速く、垂直に、または水平にスライドすると、私は直線を受け取りました...

これは私のコードです

public boolean onTouchEvent(MotionEvent event) {
    // TODO Auto-generated method stub
    String ms;
    switch (event.getAction()){
    case MotionEvent.ACTION_DOWN:
        int xDown = (int)event.getX();
        int yDown =  (int)event.getY();

        ms = "down";
        out.println(xDown);
        out.println(yDown);
        out.println(ms);

        break;
    case MotionEvent.ACTION_MOVE:
        ms = "move";

        int hsize = event.getHistorySize(); 
        for(int i=0;i<hsize;i++)
        {
            int x = (int)event.getHistoricalX(i);
            int y = (int)event.getHistoricalY(i);
            int hx = x;
            int hy = y;
            out.println(hx);
            out.println(hy);
            out.println(ms);
        }

        /*
        int xMove =  (int)event.getX();
        int yMove =  (int)event.getY();
        out.println(xMove);
        out.println(yMove);
        ms = "move";
        out.println(ms);
        */
        break;
    case MotionEvent.ACTION_UP:
        int xUp = (int)event.getX();
        int yUp =  (int)event.getY();
        out.println(xUp);
        out.println(yUp);
        ms = "up";
        out.println(ms);
        break;
    }
    return false;
}
4

1 に答える 1

0

開始位置を保存し、開始点から画面に触れている点まで毎回線を再描画することをお勧めします。

直線で作られたポリゴンが必要ない場合は、次のポイントを配置する画面をタップして描画できます。

于 2013-03-12T09:20:36.927 に答える