SurfaceView Width/Height

Рейтинг: 2Ответов: 1Опубликовано: 17.05.2011

Я делаю игру и использую SurfaceView для прорисовок объектов и в методе SurfaceChanged я получаю высоту и ширину View. Вот фрагмент кода:

public void surfaceChanged(SurfaceHolder arg0, int format, int width,
        int height) {
    mViewWidth = width;
    mViewHeight = height;
    System.out.println(mViewWidth+" "+mViewHeight);
}

Получается, что ширина и высота View 320x403. Но разрешение моего экрана 320x240. Как это возможно!?

Ответы

▲ 2

Размеры вида не привязаны к размерам физического экрана: можно создать вид как меньше, так и больше экрана. Вид шире экрана прокручивается по горизонтали, а вид длиннее экрана - по вертикали.

Кроме того, возможно, SurfaceView возвращает не пиксели, а дипы (пиксели = дипы * (плотность / 160));