1 votos

Obtener el tamaño de la barra de navegación mediante ADB

Quiero saber cual es el tamaño de la barra de navegación en pixel usando ADB.

Utilizando adb shell wm size da el tamaño completo de la pantalla en lugar de sólo la barra de navegación.

¿Hay alguna forma de conseguirlo?

2voto

Firelord Puntos 161

Introduce esta frase:

adb shell dumpsys window windows| sed -n '/Window .*NavigationBar.*:/,/Window .*:/p'| grep 'Requested'

Alternativamente, si no tienes Linux/Mac, prueba esto:

adb shell
dumpsys window windows | toybox sed -n '/Window .\*NavigationBar.\*:/,/Window .\*:/p'| grep 'Requested'

Lo que ocurre en esa frase es lo siguiente:

  1. utilizamos dumpsys para mostrar todos los detalles de todas las ventanas que aparecen en la pantalla (independientemente de si la pantalla está encendida o apagada)

  2. filtramos el contenido mediante sed para mostrar sólo las líneas que contienen información sobre la barra de navegación

  3. nosotros grep la información que necesitamos.

    También puede buscar grep mSystemDecorRect . No sé cuál es más fiable en todas las circunstancias.

Ejemplo de salida esperada:

Requested **w=1080 h=126** mLayoutSeq=10835

# if 'mSystemDecorRect' was grepped, then:

mSystemDecorRect=\[0,0\]\[1080,126\] mLastClipRect=\[0,0\]\[1080,126\]

w : ancho, h : altura, de su barra de navegación respectivamente.

Nota: por alguna razón si el one-liner no funciona o da una salida inesperada, fíltralo de la siguiente manera. Obtenga el volcado utilizando ese primer comando dumpsys, a continuación, busque la entrada para su NavigationBar, y dentro de eso, busque el tamaño.

Probado en OnePlus 6 con Android 10.

Créditos: Fiximan de Unix y Linux para sed mando.

1 votos

Gracias. También es posible obtener utilizando: adb shell dumpsys SurfaceFlinger | grep -i "Navegación"

0voto

strobosch Puntos 33

En el OnePlus 3 con Android 9, sustituye NavigationBar con StatusBar en su lugar.

adb shell dumpsys window windows| sed -n '/Window .*StatusBar.*:/,/Window .*:/p'| grep 'Requested'

Devolverá esto

Requested w=1080 h=63 mLayoutSeq=3640

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X