Red de conocimiento informático - Conocimiento informático - Cómo obtener el ancho de la pantalla en Android

Cómo obtener el ancho de la pantalla en Android

Pregunta 1: Cómo obtener la altura y el ancho de la pantalla del teléfono Android DisplayMetrics metrics = new DisplayMetrics()

objActivity.getWindowManager().getDefaultDisplay().getMetrics(metrics) );

p>

M_NSCREENWIDTH = metrics.widthPixels; Ancho de pantalla

M_NSCREENHEIGHT = metrics.heightPixels; Altura de pantalla

Pregunta 2: ¿Cómo funciona Android? obtener el ancho de pantalla en el método onCreate de una Actividad?, escribe el siguiente código:

DisplayMetrics metric = new DisplayMetrics()

getWindowManager().getDefaultDisplay().getMetrics( metric);

int width = metric.widthPixels; ancho de pantalla (píxeles)

int height = metric.heightPixels; alto de pantalla (píxeles)

densidad flotante; = metric.density; densidad de pantalla (0,75 / 1,0 / 1,5)

int densidadDpi = metric.densityDpi; densidad de pantalla DPI (120 / 160 / 240)

En AndroidManifest.xml archivo, agregue el nodo support-screens, el contenido específico es el siguiente:

En este caso, el programa Android actual admite múltiples resoluciones, por lo que se puede obtener el tamaño físico correcto.

Pregunta 3: Desarrollo de Android ¿Cómo obtener el ancho y alto de la pantalla en centímetros? Necesitamos obtener el tamaño físico de la pantalla de un teléfono o Pad Android para facilitar el diseño de la interfaz o la pantalla. realización de otras funciones. A continuación, presentaremos cómo obtener el tamaño físico de la pantalla.

El siguiente código puede obtener el tamaño de la pantalla.

En el método onCreate de una Actividad, escriba el siguiente código:

[java] ver copia simple imprimir

DisplayMetrics metric = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metric);

int width = metric.widthPixels ancho de pantalla (píxeles)

int height = metric; .heightPixels; altura de la pantalla (píxeles)

densidad flotante = metric.density; densidad de la pantalla (0,75 / 1,0 / 1,5)

int densidadDpi = metric.densityDpi; / 160 / 240)

DisplayMetrics metric = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metric

int width = metric.widthPixels; ancho de pantalla (píxeles)

int altura = metric.heightPixels; altura de pantalla (píxeles)

densidad flotante = densidad de pantalla (0,75 / 1,0 / 1,5) )

int densidadDpi = metric.densityDpi; Densidad de pantalla DPI (120 / 160 / 240)

Sin embargo, cabe señalar que en un teléfono móvil de pantalla pequeña de baja densidad, Solo no se puede obtener el tamaño correcto confiando en el código anterior. Por ejemplo, para un teléfono móvil de baja densidad con 240x320 píxeles, si ejecuta el código anterior, el tamaño de pantalla obtenido es 320x427. Por lo tanto, después de la investigación, se descubrió que si no se configura el soporte de resolución múltiple, el sistema Android convertirá el tamaño de baja densidad (120) de 240x320 al tamaño correspondiente de densidad media (160), lo que afectará en gran medida la codificación del programa. Por lo tanto, debe agregar el nodo de pantallas de soporte al archivo AndroidManifest.xml del proyecto. El contenido específico es el siguiente:

[html] ¿ver copia simple imprimir? >

Pregunta 4: ¿Cómo obtiene Android la longitud y el ancho del panel táctil (pantalla) del dispositivo? WindowManager wm=(WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE);int width = wm.getDefaultDisplay( ).getWidth();int height = wm.getDefaultDisplay().getHeight();

Pregunta 5: ¿Cómo obtiene Android el ancho de la pantalla? Ahora, la obtención del ancho de la pantalla es generalmente en píxeles.

Puedes utilizar el siguiente código:

WindowManager wm = (WindowManager) getContext()

.getSystemService(Context.WINDOW_SERVICE

<); p> int ancho = wm.getDefaultDisplay().getWidth();

int altura = wm.getDefaultDisplay().getHeight()

O:

WindowManager wm = this.getWindowManager();

int ancho = wm.getDefaultDisplay().getWidth()

int altura = wm.getDefaultDisplay().getHeight();

Pregunta 6: ¿Cómo obtiene Android el ancho de la pantalla? En el método onCreate de una Actividad, escriba el siguiente código: DisplayMetrics metric = new DisplayMetrics(); (metric); densidad de pantalla DPI (120/160/240) En el archivo AndroidManifest.xml, agregue el nodo de pantallas de soporte, el contenido específico es el siguiente: De esta manera, el programa Android actual admite múltiples resoluciones y el tamaño físico correcto puede ser el mismo. ser obtenido.

Pregunta 7: Cómo obtener el ancho de la pantalla del teléfono móvil desde la página web js]@]@]

@sssss

var x = navigator;

var w=window.innerWidth

|| document.documentElement.clientWidth

|| document.body.clientWidth;

var h= window.innerHeight

|| document.documentElement.clientHeight

|| document.body.clientHeight;

document.getElementById(p1).innerHTML=Resolución de pantalla :+ancho de pantalla + * + altura de pantalla+ventana interna: + w + * + h

No sé si esta es la resolución de la pantalla: la resolución del escritorio en la PC. Los teléfonos móviles tienen una resolución fija por modelo. Por ejemplo, la resolución del Huawei 8813 es 480*854. .

La ventana interna cambia el tamaño de la ventana y la actualiza para obtener nuevos datos

Pregunta 8: Programación de Android: Cómo obtener el tamaño de la pantalla en Android Obtenga el tamaño de la pantalla para que el programa pueda tener un mejor rendimiento en el móvil. teléfonos de diferentes tamaños Compatibilidad

WindowManager wm=(WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE

wwidth=wm.getDefaultDisplay().getWidth();Width; de la pantalla del móvil

hheight=wm.getDefaultDisplay().getHeight();La altura de la pantalla del teléfono móvil

Pregunta 9: ¿Cómo obtiene Android la altura de la barra de estado de el tamaño completo de la pantalla: Rect frame = new Rect()

MainActivity.this.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);

int topHeigh= frame.top; ;

Pregunta 10: Android ¿Cómo obtener el ancho de la pantalla en la clase BaseAdapter? Esto se puede usar en muchos lugares. Normalmente lo inicializo en BaseApplication: para que se pueda ajustar sin importar dónde esté.

la aplicación de clase pública extiende la aplicación {

mInstance de la aplicación estática privada

@Override

public void onCreate() {

mInstance = this;

}

/**

* Obtener el ancho de la pantalla actual del teléfono móvil

*/

public static int getPhoneWidth() {

El ancho de la pantalla del teléfono móvil

WindowManager wm = (WindowManager) mInstance.getSystemService(WINDOW_SERVICE);

return wm.getDefaultDisplay().getWidth();

}

/**

* Obtener la altura del actual pantalla del teléfono móvil

*/

public static int getPhoneHeight() {

La altura de la pantalla del teléfono móvil

WindowManager wm = (WindowManager) mInstance.getSystemService(WINDOW_SERVICE);

return wm.getDefaultDisplay().getHeight()

}

}

;