En Android, las aplicaciones pueden tener orientaciones de tipos, a saber, retrato y paisaje. De forma predeterminada, cada nuevo proyecto cuando se crea viene con una orientación vertical. Sin embargo, esto se puede cambiar a paisaje o semi. En el caso del semi, la aplicación admite tanto la orientación vertical como la horizontal, dependiendo de la orientación de pie del dispositivo. Además, es posible detectar cuando la orientación cambia de uno a otro.
Entonces, en este artículo, le mostraremos cómo puede escuchar los cambios de orientación en Android. Siga los pasos a continuación una vez que el IDE esté listo.
Implementación paso a paso
Paso 1: crea un nuevo proyecto en Android Studio
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Demostramos la aplicación en Kotlin, así que asegúrese de seleccionar Kotlin como idioma principal al crear un nuevo proyecto.
Paso 2: Trabajar en AndroidManifest.xml
En la etiqueta de actividad, establezca configChanges en Orientación|Tamaño de pantalla para implementar la semiorientación.
XML
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.geeksforgeeks.orientationchange"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.OrientationChange"> <activity android:name=".MainActivity" android:exported="true" android:configChanges="orientation|screenSize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Paso 3: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml . Como tal, no se requieren cambios y se mantienen intactos.
XML
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello Geek!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
Paso 4: trabajar con el archivo MainActivity.kt
Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.
Kotlin
package org.geeksforgeeks.orientationchange import android.content.res.Configuration import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } // Listening to the orientation config // changes and generating Toast Messages override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { Toast.makeText(baseContext, "Landscape Mode", Toast.LENGTH_SHORT).show() } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { Toast.makeText(baseContext, "Portrait Mode", Toast.LENGTH_SHORT).show() } } } // If you are developing for API level 13 (3.2) or higher, // you should specify android:configChanges="orientation|screenSize", // otherwise onConfigurationChanged won't be called. // https://developer.android.com/guide/topics/resources/runtime-changes#HandlingTheChange
Producción:
Puede ver que el programa escucha el cambio de orientación y genera mensajes de brindis.
Publicación traducida automáticamente
Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA