Android - Java:如何慢慢画一条直线

时间:2013-03-12 03:52:19

标签: java android draw gesture

我不能慢慢画一条直线! 当我慢慢地滑动时,我有一条波浪线而不是一条直线。

我尝试使用“指针位置”工具来检查点,我收到了相同的结果。 但是当我快速滑动,垂直滑动或水平滑行时,我就会直线滑行......

这是我的代码

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;
}

1 个答案:

答案 0 :(得分:0)

我建议您每次从起点到触摸屏的位置保存起始位置和重绘线。

如果您不想要由直线构成的多边形,可以通过点击要放置下一个点的屏幕来绘制它。