Я новичок в программировании на Android. У меня есть небольшая игра, где я рисую все в закадровом холсте. Когда я хочу представить это, я использую calss, полученный из SurfaceView. Работает нормально. Проблема в том, что холст за пределами экрана составляет 480x800 (разрешение целевого устройства) пикселей, но холст SurfaceView, который я получаю через getHolder (). LockCanvas (), составляет всего 240x480. В результате он выглядит действительно некрасиво - сначала его уменьшают с холста за пределами экрана до холста SurfaceView (теряя мелкие детали), а затем увеличивают до размера экрана устройства (растягивают обратно до исходного размера).
Поскольку эмулятор также работает с разрешением 480x800, я понятия не имею, почему SurfaceView создан так мало. Почему он не создан в размере эмулируемого устройства? Я наконец обошел это с установкой фиксированного размера держателя (getHolder (). SetFixedSize (480, 800)), но это правильный путь?
Есть ли другой способ заставить устройство создавать SurfaceView размером с его пиксели?