Живые обои для Android - Force Portrait - PullRequest
2 голосов
/ 02 июля 2011

Этот вопрос задавался ранее, но без ответа.

Можно ли принудительно отображать живые обои в портретном режиме, игнорируя изменения ориентации? Поскольку нет никакой активности, я не могу сделать это обычным способом.

Спасибо!

1 Ответ

0 голосов
/ 21 мая 2012

Да, это возможно, но это сложно. Вы не можете избежать изменения ориентации в своем коде, потому что вам придется поворачивать обои, чтобы всегда иметь их в портретном режиме.

Отслеживать ширину и высоту в

public void onSurfaceChanged (держатель SurfaceHolder, формат int, int width, int height)

метод

android.service.wallpaper.WallpaperService.Engine

класс. Он вызывается каждый раз, когда меняется ориентация. Если ширина больше высоты, то, скорее всего, вы будете в ландшафтном режиме.

Тогда просто обработайте x как y, а width - как высоту и вращайте любые ваши растровые изображения. Это должно работать.

...