如何在多个密度屏幕中使用drawLine方法绘制线条

时间:2013-03-03 17:47:22

标签: android android-canvas

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

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

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;

但我仍然无法正确画线。

感谢您的关注!

0 个答案:

没有答案