У меня проблема с отображением моего макета в портретном / ландшафтном режиме.По сути, иерархия моего макета выглядит следующим образом: Main (представление рабочей области) -> TextView + Listview (w / BaseAdapter) -> Listview Item.
Моя проблема в том, что я начинаю в портретном режимемои предметы отображаются правильно, как они должны.Но затем, если я поверну устройство, произойдет смещение всего моего макета примерно на половину экрана (т. Е. Когда я переключаюсь, примерно половина левой части просмотра полностью черная, и он считает, что мой истинный «левый край»в середине экрана - я вижу элементы, которые должны быть выровнены по центру слева).С другой стороны, если я начну в ландшафтном режиме и переключусь в портретный режим, половина правой части экрана будет полностью черной, а «правый край» посередине, и я вижу, что мои самые правые элементы заканчиваются там.
Вот макет, с которым я работаю ... Сначала мой View в рабочей области (Listview использует BaseAdapter):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/tvMainChannel"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Disconnected"
android:textColor="#FFFFFF"
android:singleLine="true"/>
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
А вот мои отдельные элементы списка, которые раздуваютсяв приведенном выше ListView (в горизонтальном расположении каждый элемент должен отображаться слева направо: изображение, текст, изображение):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:orientation="horizontal">
<ImageView android:id="@+id/images"
android:layout_height="30dp"
android:layout_width="wrap_content"
android:paddingLeft="5px"
android:paddingRight="5px"
android:layout_alignParentLeft="true"/>
<ImageView android:id="@+id/images_ping"
android:layout_height="30dp"
android:layout_width="wrap_content"
android:paddingLeft="5px"
android:paddingRight="5px"
android:layout_alignParentRight="true"/>
<TextView android:id="@+id/text"
android:layout_height="30dp"
android:layout_width="wrap_content"
android:gravity="center_vertical"
android:text="Username"
android:textColor="#FFFFFF"
android:layout_toRightOf="@+id/images"/>
</RelativeLayout>
Я пробовал переключать вещи между линейным и относительным, но яне получил, где ... вроде в недоумении, что может быть причиной этого.
Любое понимание очень ценится.
Спасибо!
РЕДАКТИРОВАТЬ: Для небольшого уточнения, это мой файл main.xml, который использует рабочую область:
<?xml version="1.0" encoding="utf-8"?>
<com.test.MultiView xmlns:app="http://schemas.android.com/apk/res/com.test"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mvMain"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
app:default_screen="0">
<include android:id="@+id/main_rtb" layout="@layout/main_rtb" />
<include android:id="@+id/main_listview" layout="@layout/main_listview" />
</com.test.MultiView>