W tym samouczku pokażemy, jak zmienić ikony na pasku nawigacji lub zmienić rozmieszczenie przycisków, jeśli używasz Nougata. Nie potrzeba roota.
Ci z Was, którzy biegną jako pierwsi Podgląd programisty Androida O mógł bawić się jego ukryciem dostosowywanie paska nawigacji znajduje się w tunerze SystemUI. To narzędzie do dostosowywania paska nawigacji jest dostępne w AOSP od miesięcy, ale uważano, że jedynym sposobem uzyskania dostępu do niego w systemie Android Nougat jest modyfikacja pakietu APK System UI, co oczywiście wymagałoby dostępu do konta root. Dopiero w tym tygodniu odkryliśmy, że narzędzie do dostosowywania ukrytego paska nawigacji w Androidzie Nougat może to zrobić faktycznie można uzyskać do nich dostęp bez konieczności dostępu do konta root, niestandardowej pamięci ROM lub modyfikacji interfejsu systemowego. Dzięki tej funkcji możemy zmieniać ikony paska nawigacji, zamieniać klawisze lub dodawać dodatkowe przyciski.
Zgadza się – można modyfikować pasek nawigacyjny na całkowicie zapasowej, nierootowanej pamięci ROM z zablokowanym programem ładującym. Funkcjonalność, która według niektórych była ograniczona do Androida O, jest w rzeczywistości dostępna dla każdego, kto korzysta z Androida Nougat na Nexusie, Pixelu, OnePlus oraz niektórych telefonach Sony, HTC i Motorola. Jeśli na Twoim urządzeniu działa oprogramowanie podobne do oprogramowania Google (przepraszamy, użytkownicy Samsunga i Huawei/Honor), istnieje duże prawdopodobieństwo, że Twoje urządzenie ma ukryty moduł dostosowywania paska nawigacji AOSP, z którego możemy skorzystać. W tym samouczku pokażę, jak korzystać z narzędzia dostosowywania paska nawigacji
zmień ikony przycisków na dowolne lub zmień ich kolejność w dowolnej kolejności.Pasek nawigacyjny Google Pixel na Nexusie 6
Modyfikowanie paska nawigacji – Ustawienia
Wymagania: Będziesz potrzebować urządzenia kompatybilnego z konfiguratorem paska nawigacyjnego AOSP. Zobacz sekcję „kompatybilność”. w tym wątku. (Uwaga: numer OEM lub typ Twojego urządzenia może nie być wymieniony w tym wątku. Jedynym sposobem, aby się upewnić, czy Twoje urządzenie jest kompatybilne, jest wypróbowanie go. Poniżej pokażemy Ci, jak to zrobić.
Istnieją dwa sposoby modyfikacji naszego paska nawigacyjnego. Jedna dotyczy aplikacji, a druga poleceń powłoki ADB (w ten sposób działa aplikacja). Pokażemy wam oba w celu zapewnienia kompletności, ale pamiętajcie, że w tej chwili nie można modyfikować ikon paska nawigacji w aplikacji, dopóki programista nie zaktualizuje swojej aplikacji tak, aby zawierała tę funkcję.
Pierwszą rzeczą, którą musimy zrobić, to upewnić się, że w ogóle możliwa jest modyfikacja paska nawigacji na Twoim urządzeniu. Jeśli Twoje urządzenie znajduje się na liście zgodnych w pliku Niestandardowy wątek paska nawigacji, to jest szansa, że tak będzie. Możemy to sprawdzić, przeglądając krótki samouczek dołączony do tej aplikacji.
Zainstaluj aplikację ze sklepu Google Play (i również zapisz się do testów beta abyśmy mogli później skorzystać z jego eksperymentalnej funkcji i zmienić układ paska nawigacyjnego). Następnie otwórz aplikację i przejdź przez ekrany wprowadzające. Niestandardowy pasek nawigacji poprosi Cię o przyznanie mu określonego pozwolenia o nazwie WRITE_SECURE_SETTINGS, aby móc kontynuować korzystanie z aplikacji. Jak podano we wniosku, można to zrobić na dwa sposoby.
- Jeśli masz zrootowane urządzenie, otwórz je Emulator terminala na swoim telefonie i przyznaj mu uprawnienia roota, wpisując
su
. Następnie wprowadź to polecenie:pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
- Jeśli Twoje urządzenie nie jest zrootowane, musisz udzielić pozwolenia za pośrednictwem ADB. Otwórz wiersz poleceń/terminal na swoim komputerze, a następnie wprowadź następujące polecenie:
adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
Po przyznaniu aplikacji tego uprawnienia za pomocą jednej z dwóch powyższych metod aplikacja przejdzie do testu zgodności. Jeśli pasek nawigacyjny się nie zmienia, oznacza to, że niestety nie masz szczęścia. Jeśli pasek nawigacyjny zmieni się i wyświetli przycisk strzałki w prawo, gratulujemy, że Twoje urządzenie jest obsługiwane! Możemy teraz przejść do modyfikacji naszego paska nawigacyjnego.
Ponowne rozmieszczenie przycisków paska nawigacji
Metoda aplikacji
Teraz, gdy aplikacja jest już skonfigurowana, bardzo łatwo jest zmienić rozmieszczenie przycisków paska nawigacyjnego. Aby móc to zrobić, musisz korzystać z wersji beta aplikacji Niestandardowy pasek nawigacji, więc zanim przejdziesz dalej, wróć i upewnij się, że jesteś na kanale beta.
Jeśli korzystasz z wersji beta, zobaczysz sekcję o nazwie eksperymentalne poprawki w głównej sekcji Ustawienia. Stuknij w to, a zobaczysz opcje, które pozwolą Ci zastąpić istniejące klucze Wstecz, Dom i Ostatnie. Możesz tutaj łatwo zmienić rozmieszczenie kluczy, zmieniając przycisk Wstecz na przycisk przeglądu (ostatnie) i przycisk przeglądu (ostatnie) na przycisk Wstecz. Lub zmieniaj je w dowolny sposób, nie ma tu żadnych prawdziwych ograniczeń. Po zamianie kluczy możesz także pobawić się opcjami układu w menu ustawień paska nawigacji.
Metoda ADB
A oto, jak zrobić to samo za pomocą poleceń ADB, jeśli wolisz. Polecenie, które będziemy modyfikować, to preferencja ustawień Bezpieczne o nazwie sysui_nav_bar. Ta preferencja to ciąg znaków zawierający układ paska nawigacji. Domyślna struktura preferencji jest następująca
space, back; home; recent, space
Gdzie spacja reprezentuje pustą przestrzeń oddzielającą klawisze paska nawigacji od siebie, a back, home i last reprezentują 3 domyślne przyciski na pasku nawigacji. Jeśli na przykład chcemy zamienić klucz wstecz i ostatni, musielibyśmy zmodyfikować ciąg w następujący sposób
space, recent; home; back, space
Uwaga: jeśli próbujesz wprowadzić którekolwiek z poniższych poleceń z zrootowanego środowiska powłoki, takiego jak Emulator terminala w telefonie, przed wysłaniem będziesz musiał pominąć w poleceniach „powłokę adb”. ich.
Teraz, aby faktycznie zmodyfikować ten ciąg, musimy użyć polecenia powłoki ADB z tą składnią
adb shell settings put secure sysui_nav_bar "STRING"
Dlatego polecenie, które wysłalibyśmy w celu zamiany klawiszy „ostatni” i „wstecz”, wyglądałoby tak
adb shell settings put secure sysui_nav_bar "space, recent; home; back, space"
Jak można się domyślić, jest to dość elastyczne. Możemy dowolnie przenosić klucze, modyfikując wartość ciągu w preferencjach. Możemy na przykład wyrównać odwrócone klawisze paska nawigacji do lewej lub do prawej strony, zmieniając położenie tych dwóch spacji:
Wyrównane do lewej:
adb shell settings put secure sysui_nav_bar "recent; home; back, space, space"
Wyrównane do prawej:
adb shell settings put secure sysui_nav_bar "space, space, recent; home; back"
Ale możemy także zmienić przyciski paska nawigacji tak, aby były zupełnie inne niż standardowe klawisze Wstecz, Dom lub Ostatnie, na przykład wysyłając jeden z wielu Kluczowe wydarzenia. Wykorzystamy ten fakt w następnej sekcji, gdzie pokażemy, jak zmienić ikony na przyciskach paska nawigacji.
Niestandardowe ikony paska nawigacji
Poniższa sekcja może nie wydawać się wielka, ponieważ istnieje licznyAplikacjeNA Sklep Play, który obiecuje zmienić pasek nawigacyjny bez rootowania. I faktycznie działają – jednak wielu użytkowników zgłasza błędy w niektórych aplikacjach, takich jak Chrome, podczas odtwarzania wideo na pełnym ekranie lub w niektórych grach. Co więcej, wiele z tych aplikacji wymaga włączenia usługi ułatwień dostępu, która monitoruje aplikacje i wie, kiedy zmienić kolor paska nawigacji, co może zmniejszyć wydajność. Wreszcie, jeśli zbyt długo będziesz polegać na tych aplikacjach, możesz nagle się zdziwić, gdy zobaczysz, że przestają działać, gdy zostanie wprowadzony Android O, ponieważ dostępna jest następna wersja Androida zabijanie możliwości tych aplikacji do rysowania na elementach interfejsu użytkownika systemu.
Metoda, której używamy, opiera się na implementacji tunera paska nawigacyjnego firmy Google, więc nie występuje w niej żaden z tych problemów. Jednakże jest jeden problem, o którym chcemy od razu powiedzieć: jeśli zdecydujesz się zastosować tę metodę do modyfikacji przycisku strony głównej, wówczas długie naciśnięcie przycisku Home nie będzie już działać co oznacza, że nie można już szybko uzyskać dostępu do Asystenta Google za pomocą przycisku strony głównej. Jeśli nie masz nic przeciwko, oto jak zmienić ikony na pasku nawigacyjnym.
Pierwszą rzeczą, którą musisz zrobić, to pobrać ikony, którymi chcesz zastąpić domyślne ikony klawiszy paska nawigacji. Udostępnię Ci linki do pobrania, dzięki którym możesz pobrać ikony paska nawigacyjnego Google Pixel, ale to od Ciebie zależy, czy znajdziesz własne ikony, jeśli chcesz czegoś innego. Będziesz potrzebować ikon w formacie PNG, a jeśli chodzi o rozmiar, możesz określić rozmiar potrzebnych ikon, sprawdzając metryki gęstości wyświetlania urządzenia na Material.io i powiązanie tego z tabela rozmiarów ikon.
Za wyodrębnienie tych ikon paska nawigacyjnego Google Pixel należy się zasługa starszemu członkowi XDA dariomrk. Pobierać to archiwum, jeśli masz plik o rozdzielczości 1920x1080p wyświetlacz i ten, jeśli masz wyświetlacz o rozdzielczości 2560x1440p. Wyodrębnij zawartość dowolnego pliku zip do folderu o nazwie „NavIcons” w katalogu głównym pamięci.
Gdy już znajdziesz ikony w odpowiednim miejscu, wprowadź następującą komendę powłoki ADB (uwaga, jest długa):
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"
To polecenie polega na zastąpieniu klawiszy Wstecz, Dom i Ostatnie zdarzeniami KeyEvents, które pełnią tę samą funkcję. W szczególności tył zastępuje się KOD KLUCZY_BACK, dom zostaje zastąpiony przez KOD KLUCZ_HOME, a ostatnie jest zastępowane przez KEYCODE_APP_SWITCH. Te kody klawiszy pełnią dokładnie tę samą funkcję, ale ponieważ używamy KeyEvents, możemy określić, jakiej ikony chcemy dla nich użyć. W tym przypadku wskazujemy pliki back.png, home.png i lasts.png, które zapisaliśmy w /NavIcons.
Jednak zastępując standardowe klawisze obiektami KeyEvents, tracimy możliwość długiego naciśnięcia przycisku Home, ponieważ obecnie nie ma możliwości rozpoznania zdarzeń długiego naciśnięcia symulowanych wejść klawiszy.
Zdaję sobie sprawę, że w tej chwili ta metoda może nie wydawać się idealna ani łatwa do wdrożenia, ale w chwili pisania tego tekstu aplikacja Niestandardowy pasek nawigacji nie została zaktualizowana tak, aby umożliwiała dodawanie własnych ikon. Na razie moja metoda (dokładnie tak działa ta aplikacja, a kiedy aplikacja zostanie zaktualizowana, napotka te same ograniczenia) polega na tym, że możesz uzyskać dowolne niestandardowe ikony na pasku nawigacyjnym.
To wszystko w tym samouczku. W przyszłych tutorialach pokażę potencjalne praktyczne zastosowania zmiany paska nawigacyjnego, szczególnie w sposób kontekstowy przy użyciu aplikacji do automatyzacji, takiej jak Tasker. Podążaj za kategoria tutoriali na XDA aby być na bieżąco ze wszystkimi najnowszymi poradami i trikami, które publikujemy.