2013-11-08 7 views
0

Есть ли способ заблокировать ориентацию экрана, но все еще можно слушать изменения ориентации устройства? Мой пользовательский интерфейс состоит из ImageView и нескольких buttons внизу. Ориентация экрана приложения должна быть заблокирована, но изображения на кнопках должны меняться при изменении ориентации устройства.Как заблокировать ориентацию экрана

Заранее спасибо.

+0

что? «Ориентация экрана приложения должна быть заблокирована, но изображения на кнопках должны меняться при изменении ориентации устройства». Так вы хотите, чтобы он изменился или нет? объясните больше, пожалуйста, – Poutrathor

+0

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

+0

Вы позволите андроиду уничтожить деятельность? Или вы можете просто переопределить onCOnfigurationChange (люди говорят, что это плохая практика). – Poutrathor

ответ

2

Да, есть способ. В AndroidManifest.xml, где объявлена ​​ваша активность, вам нужно добавить другое свойство configChanges следующим образом.

<activity android:name="YourActivity" 
      android:configChanges="orientation|screenSize" /> 

Это означает, что ваша деятельность будет обрабатывать ориентацию и в настоящее время доступные изменения размера самостоятельно. Затем вы должны переопределить метод onConfigurationChanged() в своей деятельности и изменить его.

+0

OnConfigurationChanged никогда не вызывается в этом действии. Я предполагаю, что это может различать только ORIENTATION_LANDSCAPE и ORIENTATION_PORTRAIT, поэтому оно не решит мою проблему. В любом случае, любая идея, почему она не называется? – Husky

+0

Вы добавили configChanges в AndroidManifest? –

+0

Да, да. Во всяком случае, я решил эту проблему иначе, но спасибо за предложения. – Husky

Смежные вопросы