Android SurfaceView ширина / высота - PullRequest
1 голос
/ 07 января 2011

Я сделал пару приложений для Android, но ни одно из них не использовало графику.Я сейчас пытаюсь сделать настоящую игру.У меня есть несколько растровых изображений, которые находятся на моем холсте.Моя проблема в том, что я не уверен, где инициализировать свои позиции.и в событиях OnTouch я хочу убедиться, что растровые изображения не выходят за пределы экрана.Например, инициализация одного растрового изображения:

canvas.drawBitmap(glider.getGraphic(), 30, 20, null);

20 и 30 были произвольными.Но я хочу иметь возможность написать что-то вроде screen.getWidth (), чтобы я точно знал, где растровое изображение относительно границы экрана.Я не могу найти это в справочнике разработчиков.

1 Ответ

2 голосов
/ 07 января 2011

Если вы просто хотите узнать размеры экрана, взгляните на класс DisplayMetrics. Вы можете получить экземпляр и измерения примерно так:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenHeight = metrics.heightPixels;
int screenWidth = metrics.widthPixels;

Имейте в виду, что это абсолютный размер экрана. Если вы делаете полноэкранную игру, это будет работать нормально, но если нет, вы должны иметь в виду размер панели уведомлений и, возможно, строку заголовка. В этом случае может быть лучше просто получить высоту самого SurfaceView и использовать его для своих расчетов.

...