Todo sobre trucos y tutoriales de Android

Cómo cambiar los iconos de la barra de navegación o reorganizar los botones sin Root

Cómo cambiar los iconos de la barra de navegación o reorganizar los botones sin Root

Aquellos de ustedes que están ejecutando el primer Android O Developer Preview pueden haber jugado con su customizador de barra de navegación oculta ubicado en el SystemUI Tuner. Este personalizador de barras de navegación ha existido en AOSP durante meses, pero se pensó que la única forma de acceder a él en Android Nougat era a través de una modificación del sistema UI APK, que, por supuesto, requeriría el acceso de root. No fue hasta esta semana que descubrimos que el personalizador de barra de navegación oculta de Android Nougat podía ser accedido sin necesidad de acceso de root, una ROM personalizada o un mod. de interfaz de usuario del sistema. Con esta función, podemos cambiar los iconos de la barra de navegación, intercambiar las teclas o añadir botones adicionales.

Así es – es posible modificar su barra de navegación en una ROM completamente enraizada con un cargador de arranque bloqueado. La funcionalidad que la gente pensaba que estaba limitada a Android O es realmente accesible para cualquiera que utilice Android Nougat en teléfonos Nexus, Pixel, OnePlus y algunos teléfonos Sony, HTC y Motorola. Si tu dispositivo está ejecutando un software que se parece al software de Google (lo sentimos mucho a los usuarios de Samsung y Huawei/Honor), lo más probable es que tu dispositivo tenga el personalizador de barra de navegación AOSP oculto que podemos utilizar. En este tutorial, te mostraré cómo puedes usar el personalizador de la barra de navegación para cambiar los iconos de los botones a lo que quieras o reorganizarlos en el orden que quieras.

Barra de navegación Google Pixel en el Nexus 6

Barra de navegación invertida en Nexus 6

Modificación de la barra de navegación – Configuración

Requisitos : Necesitará un dispositivo compatible con el configurador de la barra de navegación AOSP. Vea la sección «compatibilidad» en este hilo. (Nota: es posible que su dispositivo OEM o tipo no aparezca en esa lista. La única manera de saber con seguridad si tu dispositivo es compatible es probándolo, lo cual te mostraremos a continuación.

Hay dos maneras de modificar nuestra barra de navegación. Una es con una aplicación, y la otra es a través de comandos de shell de ADB (que es como funciona la aplicación). Les mostraremos ambos para que estén completos, pero tenga en cuenta que, por el momento, no puede modificar los iconos de la barra de navegación de acciones a través de la aplicación hasta que el desarrollador actualice su aplicación para incluir esta función.

Lo primero que tenemos que hacer es asegurarnos de que incluso es posible modificar la barra de navegación de su dispositivo. Si su dispositivo es uno de los que aparecen como compatibles en el hilo de la barra de navegación personalizada, es muy probable que lo sea. Podemos verificarlo a través del breve tutorial que acompaña a esta aplicación.

Instale la aplicación desde la tienda Google Play Store (y también regístrese para realizar pruebas beta para que podamos usar su función experimental para reordenar la barra de navegación más adelante). A continuación, abra la aplicación y proceda con las pantallas de introducción. La Barra de Navegación Personalizada le pedirá que le conceda un cierto permiso llamado WRITE_SECURE_SETTINGS para proceder con el uso de la aplicación. Hay dos maneras de hacerlo, como se indica en la solicitud.

  1. Si tiene un dispositivo enraizado, abra Terminal Emulator en su teléfono y concédale acceso como root escribiendo su. Luego, ingrese este comando: pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
  2. Si su dispositivo no está enraizado, deberá conceder el permiso a través de ADB. Abra un intérprete de comandos/terminal en su máquina, y luego escriba el siguiente comando: adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS

Una vez que le hayas concedido este permiso a la aplicación a través de cualquiera de los dos métodos anteriores, entonces la aplicación procederá con una prueba de compatibilidad. Si tu barra de navegación no cambia, entonces desafortunadamente no tienes suerte.Si su barra de navegación cambia para mostrar un botón de flecha a la derecha, entonces felicitaciones su dispositivo es compatible! Ahora podemos pasar a modificar nuestra barra de navegación.

Reorganización de los botones de la barra de navegación

Método de aplicación

Ahora que has configurado la aplicación, es muy, muy fácil reorganizar los botones de la barra de navegación. Tienes que estar en la versión de prueba beta de la aplicación de la Barra de Navegación Personalizada para poder hacer esto, así que vuelve y asegúrate de que estás en el canal beta antes de continuar.

Si estás en la versión beta, verás una sección llamada ajustes experimentales en la sección principal de Configuración. Toque esta opción y verá opciones que le permiten reemplazar las teclas de atrás, de inicio y recientes. Puede cambiar fácilmente el orden de las teclas aquí haciendo que el botón Atrás cambie al botón Vista general (reciente) y que el botón Vista general (reciente) cambie al botón Atrás. O cámbielos de la forma que quiera, aquí no hay limitaciones reales. Después de intercambiar las teclas, también puede jugar con las opciones de diseño en el menú de configuración de la barra de navegación.

Método ADB

Y aquí está cómo hacer lo mismo usando comandos ADB, si lo prefiere. El comando que vamos a modificar es la preferencia Configuración segura llamada sysui_nav_bar. Esta preferencia es una cadena que contiene el diseño de la barra de navegación. La estructura predeterminada de la preferencia es la siguiente

space,back;home;recent,space

Donde espacio representa un espacio vacío que separa las teclas de la barra de navegación entre sí, y espalda, casa y reciente representan los 3 botones por defecto en la barra de navegación. Si queremos cambiar la clave de la parte posterior y la clave reciente, por ejemplo, tendremos que modificar la cadena de la siguiente manera

espacio,reciente;home;back,space

Nota: si está intentando introducir cualquiera de los siguientes comandos desde un entorno de shell enraizado, como Terminal Emulator en su teléfono, deberá omitir «adb shell» de los comandos antes de enviarlos.

Ahora, para poder modificar esta cadena, necesitamos usar el comando shell de ADB con esta sintaxis

adb shell settings put secure sysui_nav_bar «STRING»

Por lo tanto, el comando que enviaríamos para intercambiar las teclas recientes y anteriores tendría el siguiente aspecto

adb shell settings pone sysui_nav_bar «space,recent;home;back,space»

Como usted podría adivinar, esto es bastante flexible. Podemos mover las teclas como queramos modificando el valor de la cadena de la preferencia. Podemos, por ejemplo, hacer que las teclas de la barra de navegación se justifiquen a la izquierda o a la derecha cambiando la ubicación de los dos espacios:

Justificado a la izquierda:

adb shell settings put secure sysui_nav_bar "recent;home;back,space,space"

Justificado por la derecha:

adb shell settings pone sysui_nav_bar «space,space,recent;home;back»

Pero también podemos cambiar los botones de la barra de navegación para que sean algo completamente diferente a las teclas estándar de la barra de navegación, como por ejemplo, enviar uno de los muchos KeyEvents. Aprovecharemos este hecho en la siguiente sección, donde le mostraremos cómo cambiar los iconos de los botones de la barra de navegación.

Iconos de la barra de navegación personalizada

Ahora, la siguiente sección puede no parecer una gran cosa debido al hecho de que hay numerosas aplicaciones en la Play Store que prometen cambiar su barra de navegación sin necesidad de usar root. Y funcionan – sin embargo, muchos usuarios reportan que estas aplicaciones tienen errores en ciertas aplicaciones como Chrome, cuando juegan video a pantalla completa, o en algunos juegos. Además, muchas de estas aplicaciones requieren que habilite un Servicio de Accesibilidad para que supervise las aplicaciones y sepa cuándo debe cambiar el color de la barra de navegación, lo que puede reducir el rendimiento. Por último, si usted confía en estas aplicaciones durante demasiado tiempo, puede sorprenderse de repente al ver que dejan de funcionar cuando Android O sale al mercado, ya que la siguiente versión de Android está eliminando la capacidad de estas aplicaciones para aprovechar los elementos de la interfaz de usuario del sistema.

El método que estamos utilizando se basa en la implementación de Google del afinador de barra de navegación, por lo que no tiene ninguno de estos problemas. Sin embargo, actualmente hay un problema sobre el que queremos ser sinceros: si decides seguir este método para modificar el botón de inicio, la acción de pulsar el botón de inicio de forma prolongada dejará de funcionar , lo que significa que ya no podrás acceder rápidamente al Asistente de Google desde el botón de inicio. Si estás de acuerdo con eso, entonces aquí está cómo cambiar los iconos en la barra de navegación.

Lo primero que tendrá que hacer es descargar los iconos con los que desea reemplazar los iconos de las teclas de la barra de navegación por defecto. Voy a proporcionar enlaces de descarga para que usted pueda agarrar los iconos de la barra de navegación de Google Pixel, pero depende de usted para encontrar sus propios iconos si desea algo más. Necesitará los iconos en formato PNG, y en cuanto al tamaño, puede determinar el tamaño de los iconos que necesita consultando las métricas de densidad de pantalla de su dispositivo en Material.io y correlacionándolo con una tabla de referencia de tamaño de icono.

Los créditos por la extracción de estos iconos de barra de navegación de Google Pixel van a XDA Senior Member dariomrk. Descargue este archivo si tiene una pantalla de 1920x1080p y ésta si tiene una pantalla de 2560x1440p. Extraiga el contenido de cualquiera de los dos archivos zip en una carpeta llamada «NavIcons» en el directorio raíz de su almacenamiento.

Una vez que tenga los iconos en el lugar apropiado, ingrese el siguiente comando de shell de ADB (advertencia, es uno largo):

adb shell settings put secure sysui_nav_bar "space,key(4:file:////storage/emulated/0/NavIcons/back.png);key(3:file://storage/emulated/0/NavIcons/home.png);key(187:file:///storage/emulated/0/NavIcons/recents.png),space"

Lo que hace este comando es reemplazar las teclas back, home y recent con KeyEvents que hacen la misma función. En particular, back se reemplaza con KEYCODE_BACK, home se reemplaza con KEYCODE_HOME, y recent se reemplaza con KEYCODE_APP_SWITCH. Estos códigos de teclas realizan exactamente la misma función, pero como estamos usando KeyEvents, podemos especificar qué icono queremos usar para ellos. En este caso, estamos apuntando hacia el back.png, home.png, y recents.png que guardamos en /NavIcons.

Sin embargo, al reemplazar las teclas de stock por KeyEvents, perdemos la capacidad de la tecla de inicio de pulsación prolongada porque actualmente no hay forma de reconocer los eventos de pulsación prolongada de las entradas de teclas simuladas.

Me doy cuenta de que en este momento, este método puede no parecer ideal o fácil de implementar, pero en el momento de escribir este artículo, la aplicación de la Barra de Navegación Personalizada no ha sido actualizada para soportar la adición de sus propios iconos. Por ahora, mi método (que es exactamente como funciona esa aplicación, y cuando la aplicación se actualice, enfrentará la misma limitación) es como puedes obtener cualquier ícono personalizado que quieras en tu barra de navegación.

Eso es todo por este tutorial. En futuros tutoriales mostraré los posibles usos prácticos de cambiar la barra de navegación, especialmente de manera contextual usando una aplicación de automatización como Tasker. Sigue la categoría de tutoriales en XDA para mantenerte al día con los últimos consejos y trucos que publicamos.

Deja tu comentario!