Ángulo de rotación de la pantalla del sistema Android, pantalla horizontal y vertical de la interfaz de la aplicación, ángulo de rotación del dispositivo, la diferencia y el uso de los tres.

¡Presta atención para distinguir la diferencia entre los siguientes tres conceptos! ! ! . Y use estas tres formas para juzgar la forma de las pantallas horizontales y verticales.

  1. Ángulo de rotación de la pantalla del sistema

diversión getSystemRotation(): Int {

val angle = (getSystemService(WINDOW_SERVICE) as WindowManager).defaultDisplay.rotation//El valor del ángulo de rotación de la pantalla del sistema

volver cuando(ángulo){

Surface.ROTATION_90->return 90//pantalla horizontal

Surface.ROTATION_180->return 180//pantalla vertical

Surface.ROTATION_270->return 270//pantalla horizontal

más ->0//pantalla vertical

}

}

Igual que el valor del ángulo obtenido de la siguiente manera. Pero el siguiente método también se puede aplicar en pantallas múltiples.

var mDisplayManager = (DisplayManager) getSystemService(Context. DISPLAY_SERVICE )

mDisplayManager?.getDisplay( DEFAULT_DISPLAY )?. rotación

  1. Evaluación de las pantallas horizontales y verticales en la interfaz de la aplicación (nota: la evaluación de las pantallas horizontales y verticales en el modo multipantalla está relacionada con la visualización de Ver en la interfaz de la interfaz de usuario)

El punto de referencia para las pantallas horizontales y verticales es el cambio de la relación de aspecto de la interfaz de la aplicación: si la relación de aspecto es inferior a 1, es una pantalla vertical, y si la relación de aspecto es superior a 1, es una pantalla apaisada

divertido getConfigureRotaion():Int{

//Configuración.ORIENTATION_PORTRAIT 1 ,Configuración.ORIENTATION_LANDSCAPE 2

return resources.configuration.orientation//1 es una pantalla vertical, 2 es una pantalla horizontal

}

  1. Ángulo de rotación del dispositivo

clase interna MyOrientationEventListener (contexto: Contexto): OrientationEventListener (contexto) {

anula la diversión onOrientationChanged (orientación: Int) {

//El valor de la orientación en la pantalla vertical es el mismo que el valor del ángulo de rotación de la pantalla del sistema. En el modo horizontal, el valor difiere en 180 grados.

// Se llama cuando cambia la orientación del dispositivo. El parámetro de orientación tiene un rango de valores de 0 a 359 en grados.

//Cuando el dispositivo está en una posición natural, la orientación es de 0 grados -> pantalla vertical

//Cuando su lado izquierdo está en la parte superior, la orientación es de 90 grados -> pantalla horizontal

//Cuando está al revés, la orientación es de 180 grados -> pantalla vertical

//Cuando su derecha es la parte superior, 270 grados -> paisaje

// Se devuelve ORIENTATION_UNKNOWN cuando el dispositivo está cerca de un plano y no se puede determinar la orientación. Es decir, cuando el tablero de la mesa se coloca horizontalmente.

}

}

Supongo que te gusta

Origin blog.csdn.net/github_27263697/article/details/129140104
Recomendado
Clasificación