Um tutorial sobre como adicionar ícones personalizados de sua escolha à barra de navegação do Android O, para que você sempre saiba o que sua chave personalizada representa.
Se você está acompanhando nossa cobertura do Android O, então você deve ter visto nossos tutoriais sobre como modificar a barra de navegação para alternar modo imagem em imagem, habilitar teclas de controle de mídia enquanto reproduz música, e hoje como adicionar botões avançar/anterior para navegar rapidamente pelos seus e-mails. Os possíveis usos de um barra de navegação personalizável são enormes, e nossos três primeiros tutoriais apenas arranham a superfície. Mas embora tenhamos mais alguns tutoriais úteis para compartilhar com nossos leitores, há uma coisa que precisamos abordar antes de passarmos para nossos próximos tutoriais: como adicionar ícones personalizados às teclas da barra de navegação no Android O.
O novo personalizador da barra de navegação do Android O, acessível através do SystemUI Tuner, permite definir um código-chave para uma tecla de navegação. (Lembrete: para acessar o SystemUI Tuner, você deve puxar para baixo a barra de status e manter pressionado o ícone de engrenagem no canto superior direito até ver uma mensagem avisando que o SystemUI O sintonizador agora está acessível.) Como existem muitos códigos-chave, o Android O não oferece um ícone para cada código-chave que você pode colocar na barra de navegação, mas permite selecionar entre seis ícones:
círculo, mais, menos, esquerda, certo, e cardápio.Como descobrimos como definir códigos-chave manualmente a partir de comandos shell, também queríamos descobrir quais possibilidades de ícones estavam disponíveis. Descobrimos primeiro que as duas teclas da barra de navegação são definidas como duas propriedades do sistema no Configurações. Classe segura. Essas duas propriedades são nomeadas sysui_nav_bar_left
e sysui_nav_bar_right
, correspondendo à tecla esquerda da barra de navegação e à tecla direita da barra de navegação, respectivamente. As propriedades assumem um valor de string, um de qualquer clipboard
, menu_ime
, ou key(KEYCODE_KEY:ICON_RESOURCE)
.
Usando um dispositivo Google Pixel de teste executando o Android O Developer Preview, descobrimos que os 6 ícones mostrados por padrão correspondem a recursos de conteúdo específicos contidos no SystemUI, representados por um URI.
-
com.android.systemui/2131230944
(círculo) -
com.android.systemui/2131230848
(mais) -
com.android.systemui/2131231002
(menos) -
com.android.systemui/2131230907
(esquerda) -
com.android.systemui/2131231004
(certo) -
com.android.systemui/2131230913
(cardápio)
Como esses valores foram extraídos do Google Pixel, é possível que esses recursos de ícones não sejam os mesmos em outros dispositivos Google que executam o Android O Developer Preview. Mas como o recurso do ícone é um URI de conteúdo, podemos substituí-lo por um esquema de URI de arquivo para apontar para qualquer ícone armazenado em nosso dispositivo.
Como definir ícones personalizados da barra de navegação no Android O
Um URI de arquivo se parece com o seguinte:
file:///storage/emulated/0/PATH/TO/FILE
Combinando isso com nosso conhecimento de configuração de códigos de acesso personalizados acima, agora podemos definir qualquer imagem arbitrária como nosso ícone a ser mostrado na barra de navegação. Por exemplo, se eu quiser definir a tecla esquerda da barra de navegação para KEYCODE_DPAD_DOWN (#20) com um ícone de seta para baixo personalizado salvo como down.png e minha tecla direita da barra de navegação para KEYCODE_DPAD_UP (#19) com um ícone de seta para cima personalizado salvo como up.png, ambos os ícones armazenados na raiz do meu armazenamento interno, meus comandos ficariam assim:
settings put secure sysui_nav_bar_left key(20:file:///storage/emulated/0/down.png)
settings put secure sysui_nav_bar_right key(19:file:///storage/emulated/0/up.png)
Você pode inserir esses comandos usando um shell ADB ou concedendo o WRITE_SECURE_SETTINGS
permissão para SecureTask e, em seguida, usar o Tasker para acionar alterações na barra de navegação com base em determinadas condições, conforme descrevi em meus tutoriais anteriores (e também mostrarei em outro tutorial).
Como obter ícones personalizados para sua barra de navegação
É claro que, dado o tamanho da sua barra de navegação, você não pode simplesmente colocar qualquer imagem baixada da Internet. A imagem precisa ter o tamanho certo, caso contrário, parecerá muito pequena ou provavelmente muito ampliada. Obter sua própria imagem no tamanho adequado pode ser um desafio se você ainda não tiver experiência com o PhotoShop ou outro software de manipulação de imagens, mas felizmente existem sites que oferecem muitos ícones gratuitos que podemos usar.
A primeira coisa que você precisa fazer é determinar as métricas de exibição do seu dispositivo, algo que você já deve saber, mas caso não saiba, você pode procure em Material.io. Em seguida, você precisará correlacionar sua densidade de exibição com um gráfico de referência de ícone para determinar o tamanho dos ícones que você precisará. Finalmente, use o gratuito banco de dados de ícones para baixar o ícone que você procura no tamanho certo.
Certifique-se de salvar os ícones que usará em uma pasta específica, como /NavIcons, e nomeie os ícones com algo simples que você possa consultar facilmente em seus comandos.
Esperamos que este tutorial seja útil! Para mim, pessoalmente, um dos meus maiores problemas com o personalizador da barra de navegação foi a incapacidade de selecionar ícones personalizados para as teclas de navegação, para que eu sempre soubesse imediatamente o que minhas teclas de navegação estão fazendo. Mas agora que descobrimos como colocar nossas próprias chaves personalizadas e ícones personalizados em nossas próprias condições, podemos começar a fazer uso real de nossa barra de navegação.