Быстрый ответ: да Android автоматически подгоняет ваши макеты к экрану устройства. Вы можете иметь определенные макеты в зависимости от размера и ориентации устройств. Android управляет тем, какие из них использовать и как обращаться с вращениями.
При повороте планшета происходит событие изменения конфигурации. Если ваше приложение не заявляет, что оно будет обрабатывать это событие лично, то платформа Android будет обрабатывать его для вас. Когда фреймворк обрабатывает это, ваше приложение уничтожается и перезапускается. Это позволяет приложению загружать другой макет (если вы указали другой макет для альбомной / книжной ориентации). То же самое происходит с другими изменениями конфигурации, такими как локаль и многие другие.
Существует два способа сделать приложение полноэкранным. first просто указывает, что приложение поддерживает определенный dpi. Следующий код в манифесте поддерживает все dpis.
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
Второй метод состоит в том, чтобы заявить, что приложение было проверено и может поддерживать большие размеры экрана через targetSdk. Это, однако, удаляет все функции совместимости, которые могли существовать. Например, у меня было приложение, которое выполняло некоторую массивную обработку в потоке пользовательского интерфейса, когда я добавил код targetSdkVersion, чтобы увеличить экран моих приложений, приложение перестало работать. Это произошло потому, что targetSdkVersion не только увеличил размер экрана, но и удалил код совместимости, который позволял внешнему потоку выполнять длинные процессы. Так что это ваше предупреждение. Вот код:
<manifest>
<uses-sdk android:targetSdkVersion="11" />
</manifest>
Обратите внимание, что целевой SDK также может быть 12. Вот ссылка на версию Android и номер SDK.