Evitar que la actividad se reinicie cuando cambie la orientación
Soy nuevo al desarrollo androide. Tengo pantallas separadas para el retrato y el modo del paisaje. Cuando cambio mi pantalla de la orientación correspondiente se carga y la actividad se reinicia. Ahora no quiero que mi actividad se reinicie cuando cambio la orientación pero debería cargar su pantalla correspondiente (axml).
Yo he tratado
- ¿Cuál es el valor de REQUEST_CHECK_SETTINGS?
- ¿Cómo agregar una línea horizontal 1px encima de la vista de la imagen en un diseño relativo?
- Ejecutar código cuando se inicia y existe la aplicación para Android
- ¿Son las aplicaciones MonoDroid (Xamarin) menos propensas al robo?
- ¿MonoDroid vale la pena el esfuerzo?
[Actividad (Label = "MyActivity", ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation)]
La línea anterior detiene la actividad que se reinicia pero carga la misma pantalla (axml). Por favor recomiende . Gracias
- Cómo cerrar la actividad de Android con visual studio y xamarin
- Cómo se utiliza la clase BluetoothA2dp en Xamarin
- MVVMCross cambiando ViewModel dentro de un MvxBindableListView
- VideoView se bloquea después de mucho tiempo jugando
- Componente inutilizable HockeyApp para Android (tienda de componentes Xamarin)
- Agregando $ ANDROID_HOME / tools a $ Path en ventanas
- HttpClient - Xamarin Android - MvvmCross
- Acceso a imágenes de resolución completa desde la cámara con MonoDroid
Escribe este código en tu actividad
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { setContentView(R.layout.landscapeView); } else { setContentView(R.layout.portraitView); } }
Y también añadir esta línea en su archivo de manifiesto
android:configChanges="orientation|keyboardHidden|screenSize"
Así que esto manejará ambas cosas, no reiniciará su actividad y cargará el diseño según sus cambios de orientación.
Puesto que ha especificado al SO que desea manejar el cambio de orientación usted mismo, ahora tiene que manejar cualquier cambio en el diseño usted mismo, como esto:
public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { setContentView(R.layout.portrait); //do other initialization } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { setContentView(R.layout.landscape); //do other initialization } }
- Layout_above de RelativeLayout da error "Ningún recurso encontrado"
- Ni el usuario ni el proceso actual tienen android.permission.ACCESS_COARSE_LOCATION