我有一个问题,我已经尝试解决这个问题,但我还没有找到解决方案。
我有两列图像。我想通过每个图像的中点加入他们。我遇到的问题是附着点向下移动,就像图像一样
我有一个“主”类,我有一个内部类:公共类 DrawView 扩展了具有属性的 LinearLayout:private Paint paint = new Paint(); 我设置了下一个值:paint.setColor(Color.BLACK); 油漆.setStrokeWidth(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;
}
}
要设置 x 和 y 值,我使用以下方法:
public void setData(ImageView img) {
image = img;
int[] values = new int[2];
image.getLocationInWindow(values);
x = values[0];
y = values[1];
width = image.getWidth();
height = image.getHeight();
}
在主类中,我有属性: Canvas auxCanvas = new Canvas(); 当我想画线时,我执行 onDraw(auxCanvas) 方法。为什么线条不绘制连接“中点”?
任何人都可以帮助我吗?谢谢!
@Shaunak 抱歉,失败了。我已经删除了它并没有影响,问题仍然存在。谢谢!
@anthropomo 我尝试了您的更改,但问题仍然存在。
我不明白为什么在模拟器中似乎可以正常工作,但在设备上却不行。
解决方案:
(我以为我已经写了答案,对不起)解决方案很简单。该应用程序的目标用户是 6-8 岁的学生,所以我决定隐藏状态栏,上面的代码可以完美运行,无需做任何更改!隐藏状态栏: 隐藏通知栏
如何使用现有的自定义主题在 XML 中隐藏 Activity 的标题栏
如果其他人想显示状态栏,我想你需要减去状态栏高度。