0

我已经阅读了很多关于我的问题的帖子,但我还没有找到解决方案。我要疯了!

我在主类中使用以下代码来获取屏幕上的脉冲:

public boolean onTouchEvent(MotionEvent event) {
        x = (int) event.getX();
        y = (int) event.getY();
        case MotionEvent.ACTION_MOVE:
            view.draw(canvas);
            view.invalidate();
        break;
}

观点是: DrawView view;

而 DrawView 是一个内部类:

public class DrawView extends LinearLayout

在 DrawView 类中,我有以下两种方法来画线:

public void draw(Canvas canvas) {
    }

@Override
public void dispatchDraw(Canvas canvas) {
    super.dispatchDraw(canvas);
            canvas.drawLine((int) 0,(int) 0,(int) x,(int) y, paint);
    }

我的问题是如何在不同屏幕密度的屏幕上正确绘制线条。我试过:

float d = this.getResources().getDisplayMetrics().scaledDensity;

但我仍然无法正确绘制线条。

感谢您的关注!

4

0 回答 0