У меня есть несколько AVD с немного разными разрешениями (480x854) и (480x800). Когда я использую методы для получения размера холста (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 и радиус окружности. Также выяснилось, что максимальное значение «x» для круга радиуса 50, которое будет полностью видимым, составляет 270 (это означает, что каким-то образом размер холста x был 320).