Intereting Posts
Android: Скрытие клавиатуры в переопределенном «Готово» нажатии EditText Проверьте метод onReceivedSslError () WebViewClient, если сертификат подписан из определенного самозаверяющего ЦС Android-браузер сообщает о неправильном размере экрана? Включение режима самолета через АБР Android: java.land.NoSuchFieldError после обновления до SDK 23 Как прокрутить сетку в позицию? Тег регистрации может содержать не более 23 символов Android Studio 2.0 Preview: ': app: transformClassesWithInstantRunForDebug' FAILED AndroidAnnotations Nothing Generated, Empty Activity «Не удалось найти исключение класса android.transition.Transition» при нажатии кнопки возврата Почему `hasEnrolledFingerprints` дает ошибку, что она требует разрешения только в моем фрагменте, но не в действии в примере Google? Сложность переноса исходного кода выхода PCM с Java на Android AudioTrack API Как запускается режим чтения в Firefox? Каким будет URL-адрес моих приложений в Google Play, когда я его опубликую? Как выделить искомый текст в моем поисковом фильтре?

Как избежать перезапуска активности при изменении ориентации на Android

Я создаю приложение Android, в котором я рисую представление на холсте. Когда ориентация устройства изменяется, активность перезапускается. Я не хочу этого.

Как избежать перезапуска активности при изменении ориентации?

Solutions Collecting From Web of "Как избежать перезапуска активности при изменении ориентации на Android"

Существуют различные способы сделать это, но как указано здесь , используя

android:configChanges="keyboardHidden|orientation|screenSize" 

Как вам нужно, позволяет вместо этого прослушивать изменения конфигурации. Затем вы отвечаете на эти изменения, переопределяя onConfigurationChanged и вызывая setContentView .

Так я это делал, но мне было бы интересно узнать мысли других людей.

Определите свою активность в AndroidManifest.xml следующим образом:

  <activity android:name="com.name.SampleActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:icon="@drawable/sample_icon" android:label="@string/sample_title" android:screenOrientation="portrait" > </activity> Размер  <activity android:name="com.name.SampleActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:icon="@drawable/sample_icon" android:label="@string/sample_title" android:screenOrientation="portrait" > </activity> 

Проверьте свой файл манифеста Android, который вы написали android:configChanges="orientation" на активность.

Я бы рекомендовал использовать фрагменты. Вы можете просто использовать setRetainInstance(true) чтобы уведомить вас о том, что вы хотите сохранить свой фрагмент.

Добавить android:configChanges="keyboardHidden|orientation" для вашей activity

Для пользователей xamarin,

Чтобы избежать перезагрузки приложения при изменении ориентации в Android, добавьте
ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize для атрибута Activity всех классов активности. Например, ниже приведен мой демо-код

  [Activity(Label = "DemoApp", ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize)] public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity { protected override void OnCreate(Bundle bundle) { //Some code here } } 

Чтобы избежать перезагрузки на keyboardHidden|orientation – Как отключить изменение ориентации в Android?
Пожалуйста, следуйте руководству Android API – Обработка изменений времени выполнения
Использование класса приложения – перезагрузка активности при ротации Android

Добавьте это ко всем вашим действиям в манифесте.

 android:configChanges="orientation|screenSize" 

Пример:

 <activity android:name=".activity.ViewActivity" android:label="@string/app_name" android:configChanges="orientation|screenSize"/> 

Я пытаюсь написать android:configChanges="keyboardHidden|orientation|screenSize" в теге активности, но не работает.

Я пытаюсь использовать множество методов, и ничего не работает, пока я не android:configChanges="keyboardHidden|orientation|screenSize" для всех приложений и работает отлично.

Просто добавьте android: configChanges = "keyboardHidden | orientation | screenSize" для всех действий приложения в файле манифеста