изменить изображение на ConfigurationChanged - PullRequest
6 голосов
/ 14 июля 2010

Есть ли способ изменить рисование в ImageView с помощью соответствующего рисования для ландшафтного режима, не разрушая всю деятельность. Я попытался снова установить drawable в обратном вызове onConfigurationChanged, но он не работает. Как то так

@Override
public void onConfigurationChanged(Configuration conf) {
    super.onConfigurationChanged(conf);
    mImageView.setImageDrawable(getResources().getDrawable(R.drawable.iv));
}

Когда я начинаю работу в альбомном режиме, отображается правильное рисование, поэтому ресурсы расположены правильно.

Ответы [ 3 ]

6 голосов
/ 20 июля 2010

В вашем примере проекта просто замените

iv.setBackgroundResource(R.drawable.android);

на

iv.setImageDrawable(getResources().getDrawable(R.drawable.android));

Я полагаю, setBackgroundResource ничего не делает, потому что тот же ресурс уже назначен для ImageView.

Takeвзгляд на этот
http://open -pim.com / tmp / ImageTest.zip
Я попробовал ваш подход, и он прекрасно работает для меня.

0 голосов
/ 08 декабря 2011

Для эмулятора вам понадобится screenLayout в дополнение к ориентации для вызова метода.

android:configChanges="orientation|screenLayout"
0 голосов
/ 14 июля 2010

Есть ли способ изменить рисование ImageView с помощью соответствующего рисования для ландшафтного режима, не разрушая при этом всю деятельность.

При переходе из портретной в альбомную или наоборот, действие восстанавливается,Убедитесь, что вызывается метод onCreate().

Если вы хотите избежать такого поведения, используйте:

android:configChanges="orientation|keyboardHidden"

для вашего Activity в AndroidManifest.

-

По поводу вашего вопроса: сначала я бы проверил, как он называется первым после изменения ориентации: onConfigurationChanged или onCreate.

Если вызывается onConfigurationChangedво-первых, затем ваш setContentView() в вашем onCreate() методе заменяет ваш ImageView drawable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...