2012-01-02 3 views
3

Я хочу адаптировать приложение для планшетов с экранами large и xlarge (Android 3.0+ или API уровня 11+). Поэтому я создал две папки: res/layout-large-port-v11 и res/layout-large-land-v11. Когда я сначала поворачиваю планшет, а затем запускаю приложение, все работает хорошо, но когда я вращаю планшет во время работы своего приложения, Android растягивает и поворачивает старый макет, но не загружает правильный (подходящий для новой ориентации). Что не так?Изменение ориентации: перезагрузка макетов из ресурсов

Мой планшет Acer Iconia A500 (Honeycomb 3.2, уровень API 13)

Вы можете увидеть AndroidManifest.xml и весь код в app's repo on github. DashboardActivity содержит всю логику для планшетов.

P.S .: Everithing по-прежнему хорошо работает на моем Android 2.2 с экраном normal. Может быть, что-то не так с квалификаторами? Возможно, мне также следует создать -v12, -v13 -v14 и -xlarge дубликаты двух папок?

ответ

2

Вы пытались удалить orientation из configChanges? С помощью этого объявления вы переопределяете поведение Android по умолчанию при изменении ориентации - это может (или не может) привести к проблемам, подобным описанным вами.

+0

Спасибо. Правильно. Я забыл, что переопределил это поведение, и теперь я должен перезагрузить все макеты в 'onConfigurationChanged()' самостоятельно. –