Intereting Posts
Ошибка кнопки setonclicklistener Захват события TextChanged внутри списка в Android Как установить выбранный элемент Spinner по значению, а не по положению? Как измерить температуру окружающей среды в android Как заставить ограничители ImageButtons обтекать изображение? Как получить данные GPS с телефона Android? Программно зеркальный экран с устройства Android на телевизор Настройка Android Studio lint.xml Определите, запрашиваются ли HTTP-запросы из приложения Android или нет? И затем отреагировать соответствующим образом Silent Sms обнаружение Android NPE при вызове MockitoAnnotations.initMocks () в AndroidTestCase Как остановить звук других приложений? Как у вас есть пауза кода в течение нескольких секунд в андроиде? Как автоматическое изменение размера, совместимость, настройка размера экрана для всех устройств Android Что происходит после того, как DTR / RTS отправляется на плату Arduino на базе FTDI?

Изменение макета Xml при изменении ориентации

У меня есть два действия, которые открываются в зависимости от наличия SD карты. В одном из действий есть три Buttons и TextView а другой – ImageView , кнопка и управление увеличением. Когда я меняю ориентацию, кнопки становятся скремблированными в горизонтальном направлении. Как обойти это?

Схема карты «SD»

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#1E1E1E" android:orientation="vertical" > <Button android:id="@+id/button_print" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="44dp" android:background="@drawable/my_button" android:text="@string/print" /> <TextView android:id="@+id/text_SDmissing" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="80dp" android:text="@string/SDmissing" android:textSize="20dp" /> <Button android:id="@+id/button_camera" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button_print" android:layout_centerHorizontal="true" android:layout_marginBottom="58dp" android:background="@drawable/my_button" android:text="@string/camera" /> <Button android:id="@+id/button_insert" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/text_SDmissing" android:layout_centerHorizontal="true" android:layout_marginTop="40dp" android:background="@drawable/my_button" android:text="@string/insert" /> </RelativeLayout> 

Вы должны создать отдельные файлы XML для портретных и ландшафтных режимов и поместить их в разные каталоги. Устройство автоматически выберет правильный. Вы можете использовать следующую структуру каталогов

 res/layout/my_layout.xml res/layout-land/layout.xml 

Для получения дополнительной информации вы можете проверить: http://developer.android.com/guide/practices/screens_support.html

Вы можете создать папку в своем проекте под названием «layout-land» (в каталоге «res»). Там вы можете скопировать все ваши стили xml из обычной папки «layout» и восстановить их в ландшафтном режиме. Android автоматически будет использовать эти макеты для ландшафтного режима.

Ваш проект будет выглядеть так:

Введите описание изображения здесь