最近我开发了棋盘游戏(https://play.google.com/store/apps/details?id=com.pradhan.manoj.CoinStack)。它在所有安卓驱动的设备上运行良好,除了少数具有高清显示的手机,包括micromax canvas高清和三星galaxy grand。我一直很难弄清楚我做错了什么。下面是代码的摘录…

  rectPaint = new Paint();
  rectPaint.setAntiAlias(true);
  rectPaint.setDither(true);
  rectPaint.setColor(Color.BLACK);
  rectPaint.setStyle(Paint.Style.STROKE);
  rectPaint.setStrokeJoin(Paint.Join.ROUND);
  rectPaint.setStrokeCap(Paint.Cap.ROUND);

  //CurrentX, CurrentY are calculated dynamically

  rectPaint.setStyle(Paint.Style.FILL);
  canvas.drawRect(currentX,currentY,currentX+cellWidth,currentY-cellHeight,rectPaint);
  rectPaint.setStyle(Paint.Style.STROKE);
  rectPaint.setColor(Color.BLUE);
  canvas.drawRect(currentX,currentY,currentX+cellWidth,currentY-cellHeight,rectPaint);

非常感谢你的专家意见/建议来解决这个问题。

最佳答案

可能的解决方法:检查坐标差-它不应该是负的。

关于android - Android:DrawRect无法显示在高清手机的 Canvas 上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20684291/

10-12 02:17