En general, la orientación de la pantalla de cualquier aplicación tiene un estilo vertical. Pero cuando se trata de juegos o cualquier otro servicio multimedia, como ver un video, la orientación de la pantalla debe cambiar funcionalmente de vertical a horizontal o viceversa cuando no se requiere la funcionalidad. Por lo tanto, un desarrollador tiene que escribir explícitamente un programa en el que la orientación cambie sin que el usuario lo invoque tradicionalmente activando y desactivando la rotación/rotación automática disponible en el menú deslizable.
El objetivo principal de cambiar la pantalla al modo horizontal es aumentar el área de acción y respuesta, y volver a la normalidad cuando no sea necesario. Este último puede pasarse por alto si hay una salida directa de la aplicación. Entonces, esta no es una aplicación, sino una característica que se puede dar a cualquier aplicación. Algunas de las aplicaciones donde se puede agregar esta característica son:
- Aplicaciones de juegos: como se mencionó anteriormente. La vista horizontal brinda una mejor accesibilidad a la pantalla para tocar en aplicaciones de juegos.
- Aplicación de videos : las aplicaciones que transmiten multimedia, como un video, pueden habilitar esta función para ver el mismo video utilizando cada píxel de la pantalla.
- Aplicaciones de edición de fotos: esta función puede ayudar al usuario a ver los cambios y comparar dos partes diferentes de la imagen, ya que el tamaño de la pantalla ahora ha aumentado.
- Aplicaciones que requieren múltiples entradas del usuario: como un bloc de notas o un navegador, donde un usuario puede leer la línea completa o los párrafos que se están escribiendo o aplicaciones.
En esta aplicación, crearemos esta función y la mantendremos explícita, es decir, se debe hacer clic en un botón para realizar los cambios. El código de la última sección del artículo se limita únicamente a la aplicación creada. La orientación de la pantalla cambió dentro de la aplicación. No realice cambios fuera de la aplicación, es decir, la orientación fuera de la aplicación sigue siendo la misma que antes. kotlin
Pasos para cambiar la orientación de la pantalla mediante programación usando un botón
Paso 1: crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Kotlin como lenguaje de programación.
Paso 2: trabajar con el archivo activity_main.xml
Cuando la configuración esté lista, vaya al archivo activity_main.xml , que representa la interfaz de usuario del proyecto. Cree un botón que cambie la orientación de la pantalla al hacer clic. actividad_principal.xml
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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"> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="click" /> </RelativeLayout>
Paso 3: trabajar con el archivo MainActivity.kt
En el archivo MainActivity.kt , declare el Botón para cambiar la orientación de la pantalla (consulte los códigos). Al configurar onClickListeners en el botón, la solicitud de orientación se envía a ActivityInfo . MainActivity.kt
Kotlin
import android.content.pm.ActivityInfo import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val btn = findViewById<Button>(R.id.btn) // reference to change the orientation on every click var isPortrait = true // Button action on click btn.setOnClickListener { // if isPortrait true, change to Landscape requestedOrientation = if (isPortrait) { ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE // else change to Portrait } else { ActivityInfo.SCREEN_ORIENTATION_PORTRAIT } // opposite the value of isPortrait isPortrait = !isPortrait } } }
Salida: ejecutar en el emulador
Publicación traducida automáticamente
Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA