Почему мое изображение исчезает в ландшафтном режиме? - PullRequest
3 голосов
/ 27 июня 2011

У меня есть изображение в портретном режиме, которое отображается правильно.Когда я изменяю конфигурацию на альбомную, изображение не отображается.

Обратите внимание, что LinearLayout, включающий ImageView, отображается справа (я проверил это, изменив фон).Но когда я изменил фон для ImageView, фон также не показывался.

   <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:layout_weight="3">
           <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" android:minHeight="48dp" android:minWidth="48dp" android:src="@drawable/xyz" android:id="@+id/img"/>

Ответы [ 3 ]

1 голос
/ 27 июня 2011

Скорее всего, вы указываете файл, который хотите отобразить, как

myImageView.setImage("myfile.jpg");

в вашем методе onCreate.

Переместите этот код в onResume (создайте onResume с помощью@Override, если у вас его еще нет) Это решит вашу проблему

1 голос
/ 27 июня 2011

У вас есть разные файлы для портретной и альбомной ориентации?Т.е. у вас есть файл макета с таким же именем в папке макета, как и в папке layout-land?Если это так, убедитесь, что оба файла содержат ImageView.

0 голосов
/ 29 июня 2011

ОК, ваш файл макета неоправданно большой и сложный. Итак, давайте попробуем пару вещей -

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

Если первый шаг сработает, следующим шагом будет работа по упрощению файла макета, есть много чего можно удалить. В точках он имеет глубину семь слоев, чего почти не должно быть. Здесь - это хорошее сообщение в блоге инженера Android по улучшению дизайна макета. Вы можете найти похожие ресурсы в другом месте.

...