Android 画线固定坐标

Android 画线固定坐标,android,android-canvas,Android,Android Canvas,我有一个问题,我试图解决这个问题,但我没有找到解决办法 我有两列图片。我想通过每个图像的中点连接它们。我的问题是附着点向下移动,就像图像一样 我有一个“main”类和一个内部类:public类DrawView扩展了LinearLayout 使用阿曲布他: 私人油漆=新油漆(); 我设置了下一个值: 油漆。设置颜色(颜色。黑色); 油漆。设置行程宽度(6) 我使用下一个代码来画线: public void onDraw(Canvas canvas) { } @SuppressL

我有一个问题,我试图解决这个问题,但我没有找到解决办法

我有两列图片。我想通过每个图像的中点连接它们。我的问题是附着点向下移动,就像图像一样

我有一个“main”类和一个内部类:public类DrawView扩展了LinearLayout 使用阿曲布他: 私人油漆=新油漆(); 我设置了下一个值: 油漆。设置颜色(颜色。黑色); 油漆。设置行程宽度(6)

我使用下一个代码来画线:

public void onDraw(Canvas canvas) {
    }

    @SuppressLint("UseValueOf")
    @Override
    public void dispatchDraw(Canvas canvas) {
        super.dispatchDraw(canvas);
        if (activateDraw) {
            for (int i = 0; i < 5; i++) {
                             //I not include the color selection.
                    x1= Image[i].x + Image[i].width;
                    y1=Image[i].y+ (new Double(Image[i].height / 2).intValue()));

                    x2=ImagePr[i].x;
                    y2=ImagePr[i].y + (new Double((ImagePr[i].height) / 2).intValue()));
                    canvas.drawLine(x1, y1, x2, y2, paint);
            }
            activateDraw = false;
        }
    }
在主要课程中,我有心房肌: Canvas auxCanvas=新画布(); 当我想要画线的时候,我执行onDraw(auxCanvas)方法。为什么线不画连接“中点”

有人能帮我吗?谢谢

@肖纳克:对不起,这是一次失败。我已经移除了它,但它不会影响,问题还在继续。谢谢大家!

@我尝试了你的改变,但问题仍然存在

我不明白为什么在模拟器中似乎可以正常工作,但在设备上却不行

解决方案:

(我以为我已经写了答案,对不起) 解决办法非常简单。该应用程序是专为有6-8年学习经验的学生设计的,所以我决定隐藏状态栏,上面的代码在不做任何更改的情况下工作得非常完美! 隐藏状态栏:

如果其他人想显示状态栏,我想您需要减去状态栏的高度。

参考:

像这样的东西对你有用吗

float d = getResources().getDisplayMetrics().density;
canvas.drawLine(x1*d, y1*d, x2*d, y2*d, paint);

注意:如果乘法不起作用,请尝试除以
d
。。。我永远记不起该做什么。

final int[]values=new int[2];为什么在这里使用final?试着像这样计算一下
(int)(图像[i].height/2.0f)
谢谢你的评论=)我搜索了有关密度的信息,它似乎就是我需要的。我看到了下面两篇文章:但我没有找到有用的东西,或者我没有解决我的问题。在这些帖子中,它们转换单位,但我不需要它,因为我使用getWidth和getHeight方法获取像素。
float d = getResources().getDisplayMetrics().density;
canvas.drawLine(x1*d, y1*d, x2*d, y2*d, paint);