vertical studio solo rotación rotacion reinicie que pantalla orientacion movil manejando girar fijar evitar detectar desactivar como cambio aplicacion activity android screen-orientation

studio - Cambia la orientación de la pantalla en Android sin recargar la actividad.



manejando la rotación de pantalla en android studio (5)

Debe sobrescribir OnSaveInstanceState (Bundle savedInstanceState) y escribir los valores de estado de la aplicación que desea cambiar al parámetro Bundle

Quiero cambiar la orientación programáticamente mientras ejecuto mi aplicación Android, con estas líneas de código:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

Funcionan hasta ahora, pero el problema principal es que toda la actividad se vuelve a cargar cuando cambia la orientación de la pantalla, y no quiero eso. ¿Es posible? Gracias.

EDIT: OK, después de que yo, mientras averiguaba lo que me faltaba. Tuve que incluir también "screenSize" en la propiedad configChanges, por lo que al tener

android:configChanges="orientation|screenSize"

Resuelto todo el asunto.


En el archivo AndroidManifest, agregue android:configChanges="orientation" para la actividad que desea manejar esta orientación

En la actividad utilice el método anulado onConfigurationChange. Haga la tarea que desea manejar en el cambio de orientación.


Llama a este método y configura el archivo de manifiesto.

android:configChanges="orientation|screenSize|keyboardHidden" public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Checks the orientation of the screen if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); } }