Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo se bloquea la orientación de la aplicación (horizontal o vertical)?

He intentado congelar la orientación usando:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

Aunque la pantalla permanezca en orientación vertical, la actividad sigue siendo recreada. ¿Alguna idea de como resolver esto?

  • Grabación de video en un buffer circular en Android
  • Tarea regular de Android (equivalente a cronjob)
  • Android - Tabhost trabajando en la clase de actividad
  • Listview la misma altura que el contenido
  • invalidateOptionsMenu no funciona en fragmento
  • Inconsistencia de SensorEvent.timestamp
  • ¿Cómo se puede bloquear la orientación de la aplicación de modo que la actividad no se recrea en el cambio de orientación?

  • ¿Cómo perder el foco de un edittext cuando el botón "hecho" en el teclado suave se presiona?
  • Android ImageView - Obtener coordenadas de tap (clic) independientemente de la ubicación de desplazamiento o la escala de zoom
  • Touch feedback con RecyclerView y CardView
  • Obtenga el valor de preferencias compartidas de Android en la clase activity / normal
  • Android ContentProvider getType () llamado cuando y por qué
  • OpenID para aplicaciones de Android que requieren
  • 4 Solutions collect form web for “¿Cómo se bloquea la orientación de la aplicación (horizontal o vertical)?”

    Primero, no use setRequestedOrientation() si puede evitarlo. Utilice el atributo android:screenOrientation en su elemento de manifiesto <activity> .

    En segundo lugar, también necesitará android:configChanges="keyboardHidden|orientation" en su elemento de manifiesto <activity> para evitar el ciclo de destruir / recrear.

    Un ejemplo más específico de la sección de actividades de AndroidManifest.xml para la orientación vertical:

      <activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation|screenSize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

    Donde android:screenOrientation establece la orientación inicial y android:configChanges anula los eventos que android:configChanges los métodos de ciclo de vida correspondientes en los cambios de pantalla.

    Prueba esto:

    1.- Establezca la orientación de la pantalla en su AndroidManifest.xml

     android:screenOrientation="portrait|landscape" 

    Debe tener un aspecto como este:

      <application android:allowBackup="true" android:icon="~icon path~" android:label="~name~" android:supportsRtl="true" android:screenOrientation="portrait" android:theme="@style/AppTheme"> </application> 

    2.- Añada esto a su onCreate void (o donde quiera) en su archivo de actividad java (Ejemplo: "MainActivity.java"):

     super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED); 

    Debe tener un aspecto como este:

     protected void onCreate(Bundle savedInstanceState) { super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);} 

    Ahora la pantalla no se moverá aunque la rotación de pantalla esté activada en el dispositivo.

    La mejor solución es usar la instancia guardada. Si está bloqueando la orientación de la pantalla, significa que está forzando al usuario a usar la aplicación de acuerdo con las restricciones establecidas por usted. Así que siempre use onSaveInstanceState. Lea este enlace: http://developer.android.com/training/basics/activity-lifecycle/recreating.html

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.