5 votos

¿Forzar la IU de la tablet en un dispositivo sin tablet?

Tengo un teléfono de pantalla grande y me pregunto si puedo hacer que se reconozca como una tablet, como en..:

  • La barra de navegación debe permanecer en el fondo en lugar de rotar hacia los lados.
  • La sombra de la notificación no ocupa todo el ancho de la pantalla en el retrato / no se queda en el medio en el paisaje
  • Las aplicaciones que soportan la disposición de la tablet la usarán

AFAIK, un valor de DPI (densidad de LCD) suficientemente pequeño desencadenará el cambio, pero naturalmente quiero que los elementos de la UI se mantengan en un tamaño visible y cómodo. Se supone que hay un disparador (¿una condición de "si no"?) que calcula si la UI de la tablet debe activarse basándose en la métrica del dispositivo y el valor de DPI anterior, sin embargo, no sé dónde está el disparador real o cómo debo cambiarlo para que siempre diga "tablet". He visto que se hacen cosas similares a las versiones de Android por debajo de la 5.0 a través de módulos Xposed, pero ya están bastante desactualizados.

Aunque ahora hay Xposed para Android 7.x, prefiero una solución que no involucre a Xposed, por lo que potencialmente podría aplicarse a futuras versiones de Android también antes de que Xposed llegue a apoyarlo.

¿Alguna idea?

0 votos

Ya me han dicho que las aplicaciones y los navegadores web detectan el tamaño de la pantalla en pulgadas. Si puedes engañar eso entonces debería funcionar. Estoy publicando esto como un comentario porque no tengo ni idea de si esto es cierto o cómo incluso investigar cómo hacer esto. Estoy muy interesado en esta cuestión, así que dejo esto para que alguien más lo investigue.

2voto

Andy Yan Puntos 501

Después de indagar un poco he podido encontrar una solución relativamente fácil para el primer y más importante requisito, es decir, mantener la barra de navegación en la parte inferior. Requiere Root (por supuesto - para tirar y empujar los archivos) y la habilidad básica de usar apktool .

Para las ROMs precompiladas:

  1. Instala apktool.
  2. Instale su framework-res.apk mediante la ejecución de apktool if /path/to/framework-res.apk .
  3. Descompile su services.jar mediante la ejecución de apktool d /path/to/services.jar .
  4. Ir a la descompilación services.jar.out y abra la carpeta smali/com/android/server/policy/PhoneWindowManager.smali .
  5. Buscar 0x258 y sustituir la única aparición de la misma por 0x0 .
  6. Reconstruir services.jar (conservar su firma) ejecutando apktool b -c services.jar.out .
  7. Descompile su SystemUI.apk mediante la ejecución de apktool d /path/to/SystemUI.apk .
  8. Ir a la descompilación SystemUI y, a continuación, vaya a res/layout/ .
  9. Eliminar navigation_layout_rot90.xml .
  10. Haga una copia de navigation_layout.xml y renombrarlo como navigation_layout_rot90.xml .
  11. Reconstruir SystemUI (conservar su firma) ejecutando apktool b -c SystemUI .
  12. Empuje el acabado services.jar y SystemUI.apk a donde estaban usando un método de su elección, establezca los permisos correctos, y luego reinicie.

Para los fabricantes de ROMs:

  1. Abrir *build-folder*/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java .
  2. Buscar shortSizeDp < 600 y sustituir la única aparición de la misma por shortSizeDp < 0 .
  3. Encuentra los archivos de diseño de SystemUI en *build-folder*/frameworks/base/packages/SystemUI/res/layout/ y reemplazar, de forma similar al método de las ROMs precompiladas.
  4. Construye la ROM.

Hay que tener en cuenta que la disposición de los botones por defecto no se ve bien en modo apaisado, pero siempre se puede utilizar el sintonizador de barras de navegación incorporado en Android 7.0+ para ajustarlo a su gusto.


A partir de Android 10, esto se ha simplificado a una única configuración booleana config_navBarCanMove que puede establecerse directamente en el marco o por separado en una superposición (recomendado).

1voto

Vivart Puntos 4641

Podrías intentar cambiar el DPI por este método: http://phandroid.com/2016/05/24/how-to-change-dpi-settings-on-Android-n-nexus-no-Root/

  1. Abre la aplicación de configuración
  2. Desplácese hacia abajo a Acerca del teléfono
  3. Pulse el número de construcción 7 veces (verá una rápida cuenta atrás). desbloquear)
  4. Oprima atrás para volver al menú principal de ajustes
  5. Selecciona Opciones del desarrollador, que ahora aparece en la parte inferior de Ajustes
  6. Desplácese hacia abajo y seleccione Ancho menor (bajo la categoría Dibujo)
  7. Su configuración actual de DPI se mostrará - anote eso en algún lugar
  8. Cambia el valor a lo que quieras (cuanto más grande sea el número, la más pequeño el UI)

y luego aumentar el tamaño de la fuente/visualización para compensar el cambio de tamaño de la interfaz de usuario. https://www.thurrott.com/mobile/Android/77447/Android-7-0-nougat-tip-customize-display-font-sizes

Ajustes > Pantalla > Tamaño de la pantalla

Ajustes > Pantalla > Tamaño de la fuente

0 votos

Como he dicho, quiero que todos los Elementos de la interfaz de usuario para que se mantengan en el tamaño que deberían - eso incluye los botones de la barra de navegación, varios iconos, etc. Aumentar el tamaño de la fuente sólo introduce el corte cuando el elemento no puede ajustarse a la fuente.

0 votos

¿Acaso el ajuste del "tamaño de visualización" no afecta a los elementos de la interfaz de usuario?

0 votos

No lo había notado, así que lo probé - desafortunadamente cualquier ajuste en el tamaño de la pantalla anula el ancho más pequeño llenado en las opciones de desarrollo (estos dos parecen estar unidos). Además, al igual que la configuración de los PPP, sólo una anchura mínima suficientemente pequeña activa la interfaz de usuario de la tablet.

-1voto

penx Puntos 156

Puedes descargar el Apex Launcher y en la configuración poner "Use tablet UI mode" a true. Es posible que esto sólo se aplique a la pantalla de inicio y similares, pero no conozco ninguna aplicación para probarlo, pero podrías intentarlo.

0 votos

Eso como mucho afecta a la pantalla de inicio (ni siquiera a la barra de navegación, que francamente es el requisito más importante). Lo uso en un montón de mis viejos dispositivos (Jelly Bean-era) ya que tienen Tablet UI para que coincida, pero sí esto no trae Tablet UI con él,

0 votos

Vale, mi error, ¡lo siento!

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