我有一些 AVD 表示分辨率(480x854)和(480x800)略有不同。当我使用方法来获取 Canvas 的大小 (getWidth()/getHeight()) 时,它们会正确报告它相应地为 480x854。
问题是,如果我运行图像下方的代码,则图像不在屏幕上:
SweepGradient sweepGrad = new SweepGradient(350, 350,
new int[] { Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE, Color.MAGENTA }, null);
circlePaint.setShader(sweepGrad);
canvas.drawCircle(350, 350, 50, circlePaint);
最后一行中的 350、350、50 值表示:x 坐标、y 坐标和圆的半径。还发现半径为 50 的圆完全可见的最大“x”值为 270(这意味着画布 x 尺寸以某种方式为 320)。