วิธีเปลี่ยนไอคอนแถบนำทางหรือจัดเรียงปุ่มใหม่โดยไม่ต้องรูท

click fraud protection

ในบทช่วยสอนนี้ เราจะแสดงวิธีเปลี่ยนไอคอนบนแถบนำทางของคุณหรือจัดเรียงปุ่มใหม่หากคุณใช้งาน Nougat ไม่จำเป็นต้องรูท

พวกคุณที่กำลังวิ่งเป็นคนแรก ตัวอย่างนักพัฒนา Android O อาจจะล้อเล่นกับสิ่งที่ซ่อนไว้ เครื่องมือปรับแต่งแถบนำทาง ตั้งอยู่ใน SystemUI Tuner เครื่องมือปรับแต่งแถบนำทางนี้มีอยู่ใน AOSP เป็นเวลาหลายเดือนแล้ว แต่คิดว่าวิธีเดียวที่จะเข้าถึงได้บน Android Nougat คือผ่าน การปรับเปลี่ยน System UI APKซึ่งแน่นอนว่าจะต้องมีการเข้าถึงรูท จนกระทั่งในสัปดาห์นี้เราพบว่าเครื่องมือปรับแต่งแถบนำทางที่ซ่อนอยู่ของ Android Nougat สามารถทำได้ สามารถเข้าถึงได้จริงโดยไม่จำเป็นต้องเข้าถึงรูท, ROM แบบกำหนดเองหรือตัวดัดแปลง System UI. ด้วยคุณสมบัตินี้ เราสามารถเปลี่ยนไอคอนแถบนำทาง สลับปุ่มไปมา หรือเพิ่มปุ่มเพิ่มเติมได้

ถูกต้อง - คุณสามารถแก้ไขแถบนำทางของคุณบน ROM ที่ไม่ได้รูทและสต็อกอย่างสมบูรณ์ด้วยโปรแกรมโหลดบูตที่ล็อคไว้ คนที่คิดว่าฟังก์ชันการทำงานถูกจำกัดไว้แค่ Android O นั้นจริงๆ แล้วสามารถเข้าถึงได้โดยทุกคนที่ใช้ Android Nougat บน Nexus, Pixel, OnePlus และโทรศัพท์ Sony, HTC และ Motorola บางรุ่น หากอุปกรณ์ของคุณใช้ซอฟต์แวร์ที่ใกล้เคียงกับซอฟต์แวร์ของ Google (ขออภัยผู้ใช้ Samsung และ Huawei/Honor) เป็นไปได้ว่าอุปกรณ์ของคุณอาจมีเครื่องมือปรับแต่งแถบนำทาง AOSP ที่ซ่อนอยู่ซึ่งเราสามารถใช้ได้ ในบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถใช้ตัวปรับแต่งแถบนำทางได้อย่างไร 

เปลี่ยนไอคอนปุ่มเป็นสิ่งที่คุณต้องการหรือจัดเรียงใหม่ตามลำดับที่คุณต้องการ

Google Pixel Nav Bar บน Nexus 6

ย้อนกลับแถบนำทางบน Nexus 6

การปรับเปลี่ยนแถบนำทาง - การตั้งค่า

ความต้องการ: คุณจะต้องมีอุปกรณ์ที่เข้ากันได้กับเครื่องมือปรับแต่งแถบนำทาง AOSP ดูส่วน "ความเข้ากันได้" ในกระทู้นี้. (หมายเหตุ: อุปกรณ์ OEM หรือประเภทของคุณอาจไม่อยู่ในรายการหัวข้อนั้น วิธีเดียวที่จะทราบได้อย่างแน่นอนว่าอุปกรณ์ของคุณใช้งานร่วมกันได้หรือไม่คือลองใช้ดู ซึ่งเราจะแสดงวิธีดำเนินการด้านล่างนี้

มีสองวิธีในการแก้ไขแถบนำทางของเรา อันหนึ่งใช้กับแอป และอีกอันใช้คำสั่งเชลล์ ADB (ซึ่งเป็นวิธีการทำงานของแอป) เราจะแสดงให้คุณเห็นทั้งสองอย่างเพื่อความสมบูรณ์ แต่โปรดทราบว่า ณ ขณะนี้ คุณไม่สามารถแก้ไขไอคอนแถบนำทางหุ้นผ่านแอปได้จนกว่านักพัฒนาจะอัปเดตแอปของเขาให้มีฟีเจอร์นี้

สิ่งแรกที่เราต้องทำคือตรวจสอบให้แน่ใจว่าสามารถปรับเปลี่ยนแถบนำทางบนอุปกรณ์ของคุณได้ หากอุปกรณ์ของคุณเป็นหนึ่งในอุปกรณ์ที่อยู่ในรายการว่าเข้ากันได้ เธรดแถบนำทางแบบกำหนดเองแล้วมันก็มีโอกาสเป็นไปได้ เราสามารถตรวจสอบได้โดยใช้บทช่วยสอนสั้น ๆ ที่มาพร้อมกับแอปนี้

ติดตั้งแอป จาก Google Play Store (และนอกจากนี้ยังมี ลงทะเบียนเพื่อรับการทดสอบเบต้า เพื่อให้เราสามารถใช้คุณลักษณะทดลองเพื่อจัดเรียงแถบนำทางใหม่ในภายหลังได้) จากนั้นเปิดแอปและดำเนินการผ่านหน้าจอแนะนำ แถบนำทางแบบกำหนดเองจะขอให้คุณให้สิทธิ์บางอย่างที่เรียกว่า WRITE_SECURE_SETTINGS เพื่อดำเนินการใช้แอปต่อไป คุณสามารถทำได้สองวิธี ตามที่ระบุไว้ในใบสมัคร

  1. หากคุณมีอุปกรณ์ที่รูทแล้ว ให้เปิดขึ้นมา เทอร์มินัลอีมูเลเตอร์ บนโทรศัพท์ของคุณและให้สิทธิ์การเข้าถึงรูทโดยการพิมพ์ su. จากนั้นให้ป้อนคำสั่งนี้: pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
  2. หากอุปกรณ์ของคุณไม่ได้ถูกรูท คุณจะต้องให้สิทธิ์ผ่าน ADB เปิดพรอมต์คำสั่ง/เทอร์มินัลบนเครื่องของคุณ จากนั้นป้อนคำสั่งต่อไปนี้: adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS

เมื่อคุณให้สิทธิ์แก่แอปผ่านวิธีใดวิธีหนึ่งจากสองวิธีข้างต้นแล้ว แอปจะดำเนินการทดสอบความเข้ากันได้ต่อไป หากแถบนำทางของคุณไม่เปลี่ยนแปลง แสดงว่าคุณโชคไม่ดี หากแถบนำทางของคุณเปลี่ยนเพื่อแสดงปุ่มลูกศรขวา ยินดีด้วยที่อุปกรณ์ของคุณได้รับการสนับสนุน! ตอนนี้เราสามารถปรับเปลี่ยนแถบนำทางของเราได้แล้ว


การจัดเรียงปุ่มแถบนำทางใหม่

วิธีการใช้แอป

เมื่อคุณตั้งค่าแอปแล้ว การจัดเรียงปุ่มแถบนำทางใหม่จึงเป็นเรื่องง่ายมาก คุณต้องใช้แอป Custom Navigation Bar เวอร์ชันทดสอบเบต้าจึงจะสามารถทำได้ ดังนั้นให้ย้อนกลับไปและตรวจสอบให้แน่ใจว่าคุณอยู่ในเวอร์ชันเบต้าก่อนดำเนินการต่อ

หากคุณใช้เวอร์ชันเบต้า คุณจะเห็นส่วนที่เรียกว่า การปรับแต่งทดลอง ในส่วนการตั้งค่าหลัก แตะที่นั้นแล้วคุณจะเห็นตัวเลือกที่ให้คุณเปลี่ยนคีย์หลัง โฮม และคีย์ล่าสุดที่มีอยู่ได้ คุณสามารถจัดเรียงปุ่มของคุณใหม่ได้อย่างง่ายดายที่นี่ โดยให้ปุ่มย้อนกลับเปลี่ยนเป็นปุ่มภาพรวม (ล่าสุด) และให้ปุ่มภาพรวม (ล่าสุด) เปลี่ยนเป็นปุ่มย้อนกลับ หรือเปลี่ยนแปลงตามที่คุณต้องการ ที่นี่ไม่มีข้อจำกัดใดๆ เลย หลังจากสลับคีย์แล้ว คุณยังสามารถลองใช้ตัวเลือกเค้าโครงในเมนูการตั้งค่าแถบนำทางได้อีกด้วย

วิธี ADB

และนี่คือวิธีดำเนินการเดียวกันโดยใช้คำสั่ง ADB หากคุณต้องการ คำสั่งที่เราจะแก้ไขคือการตั้งค่าการตั้งค่าความปลอดภัยที่เรียกว่า sysui_nav_bar การกำหนดลักษณะนี้เป็นสตริงที่ประกอบด้วยเค้าโครงแถบนำทาง โครงสร้างเริ่มต้นของการตั้งค่าจะเป็นดังนี้

space, back; home; recent, space

โดยที่ space หมายถึงพื้นที่ว่างที่แยกแป้นแถบนำทางออกจากกัน และปุ่มย้อนกลับ หน้าแรก และปุ่มล่าสุด แสดงถึงปุ่มเริ่มต้น 3 ปุ่มในแถบนำทาง หากเราต้องการสลับคีย์ด้านหลังและคีย์ล่าสุด เราจะต้องแก้ไขสตริงดังนี้

space, recent; home; back, space

หมายเหตุ: หากคุณพยายามป้อนคำสั่งใดๆ ต่อไปนี้จากสภาพแวดล้อมเชลล์ที่รูท เช่น Terminal Emulator บนโทรศัพท์ของคุณ คุณจะต้องละ "adb shell" ออกจากคำสั่งก่อนที่จะส่ง พวกเขา.

ตอนนี้เพื่อที่จะแก้ไขสตริงนี้ เราจำเป็นต้องใช้คำสั่งเชลล์ ADB กับไวยากรณ์นี้

adb shell settings put secure sysui_nav_bar "STRING"

ดังนั้นคำสั่งที่เราจะส่งเพื่อสลับคีย์ล่าสุดและคีย์ย้อนกลับจะมีลักษณะเช่นนี้

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

ดังที่คุณอาจเดาได้ สิ่งนี้ค่อนข้างยืดหยุ่น เราสามารถย้ายคีย์ไปมาได้ตามต้องการโดยการปรับเปลี่ยนค่าสตริงของการตั้งค่า ตัวอย่างเช่น เราสามารถทำให้ปุ่มแถบนำทางที่พลิกของเราจัดชิดซ้ายหรือชิดขวาโดยการเปลี่ยนตำแหน่งที่วางช่องว่างทั้งสอง:

จัดชิดซ้าย:

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

ถูกต้อง:

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

แต่เรายังสามารถเปลี่ยนปุ่มแถบนำทางให้เป็นสิ่งที่แตกต่างไปจากปุ่มย้อนกลับมาตรฐานหรือปุ่มล่าสุดโดยสิ้นเชิง เช่น การส่งปุ่มใดปุ่มหนึ่งจากหลายๆ ปุ่ม เหตุการณ์สำคัญ. เราจะใช้ประโยชน์จากข้อเท็จจริงนี้ในส่วนถัดไป ซึ่งเราจะแสดงวิธีเปลี่ยนไอคอนบนปุ่มแถบนำทาง


ไอคอนแถบนำทางแบบกำหนดเอง

ตอนนี้ส่วนต่อไปนี้อาจดูเหมือนไม่ใช่เรื่องใหญ่เนื่องจากมีอยู่ มากมายการใช้งานบน Play Store ที่สัญญาว่าจะเปลี่ยนแถบนำทางของคุณโดยไม่ต้องรูท และใช้งานได้ อย่างไรก็ตาม ผู้ใช้หลายคนรายงานว่าแอปเหล่านี้มีปัญหาในบางแอป เช่น Chrome เมื่อเล่นวิดีโอแบบเต็มหน้าจอ หรือบางเกม นอกจากนี้ แอพเหล่านี้จำนวนมากต้องการให้คุณเปิดใช้งานบริการการเข้าถึงเพื่อตรวจสอบแอพเพื่อให้รู้ว่าเมื่อใดจะต้องเปลี่ยนสีแถบนำทางใหม่ อาจลดประสิทธิภาพลง. สุดท้ายนี้ หากคุณใช้งานแอปเหล่านี้นานเกินไป คุณอาจแปลกใจทันทีที่เห็นแอปเหล่านี้หยุดทำงานเมื่อ Android O เปิดตัว เนื่องจาก Android เวอร์ชันถัดไปคือ ทำลายความสามารถของแอปเหล่านี้ เพื่อวาดทับองค์ประกอบ System UI

วิธีที่เราใช้นั้นขึ้นอยู่กับการใช้งานเครื่องรับแถบนำทางของ Google ดังนั้นจึงไม่มีปัญหาเหล่านี้ อย่างไรก็ตาม มีปัญหาหนึ่งที่เราต้องการแจ้งให้ทราบล่วงหน้า: หากคุณเลือกที่จะปฏิบัติตามวิธีนี้เพื่อแก้ไขปุ่มโฮมของคุณ จากนั้น การกระทำของปุ่มโฮมแบบกดค้างจะไม่ทำงานอีกต่อไป หมายความว่าคุณไม่สามารถเข้าถึง Google Assistant ได้อย่างรวดเร็วจากปุ่มโฮมอีกต่อไป หากคุณไม่เป็นไร ต่อไปนี้เป็นวิธีเปลี่ยนไอคอนบนแถบนำทาง

สิ่งแรกที่คุณต้องทำคือดาวน์โหลดไอคอนที่คุณต้องการแทนที่ไอคอนของปุ่มแถบนำทางเริ่มต้น ฉันจะให้ลิงก์ดาวน์โหลดเพื่อให้คุณหยิบไอคอนแถบนำทางของ Google Pixel แต่ขึ้นอยู่กับคุณแล้วว่าจะค้นหาไอคอนของคุณเองหากคุณต้องการสิ่งอื่นใด คุณจะต้องมีไอคอนในรูปแบบ PNG และสำหรับขนาด คุณสามารถกำหนดขนาดของไอคอนที่คุณต้องการได้โดยค้นหา การวัดความหนาแน่นของการแสดงผลของอุปกรณ์บน Material.io และเชื่อมโยงสิ่งนั้นกับ แผนภูมิอ้างอิงขนาดไอคอน.

เครดิตสำหรับการแยกไอคอนแถบนำทาง Google Pixel เหล่านี้มอบให้กับ XDA Senior Member ดาริโอมก. ดาวน์โหลด ไฟล์เก็บถาวรนี้หากคุณมีความละเอียด 1920x1080p จอแสดงผลและ อันนี้ถ้าคุณมีจอแสดงผล 2560x1440p. แยกเนื้อหาของไฟล์ zip ไฟล์ใดไฟล์หนึ่งลงในโฟลเดอร์ชื่อ "NavIcons" บนไดเร็กทอรีรากของที่เก็บข้อมูลของคุณ

เมื่อคุณมีไอคอนในตำแหน่งที่เหมาะสมแล้ว ให้ป้อนคำสั่งเชลล์ ADB ต่อไปนี้ (คำเตือน มันยาว):

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"

สิ่งที่คำสั่งนี้ทำคือการแทนที่คีย์ back, home และล่าสุดด้วย KeyEvents ที่ทำหน้าที่เดียวกัน โดยเฉพาะด้านหลังจะถูกแทนที่ด้วย KEYCODE_BACK,บ้านถูกแทนที่ด้วย KEYCODE_HOMEและล่าสุดจะถูกแทนที่ด้วย KEYCODE_APP_SWITCH. รหัสคีย์เหล่านี้ทำหน้าที่เหมือนกันทุกประการ แต่เนื่องจากเราใช้ KeyEvents เราจึงสามารถระบุไอคอนที่เราต้องการใช้สำหรับรหัสเหล่านั้นได้ ในกรณีนี้ เรากำลังชี้ไปที่ back.png, home.png และ latests.png ที่เราบันทึกไว้ใน /NavIcons

อย่างไรก็ตาม โดยการแทนที่คีย์หุ้นด้วย KeyEvents เราจะสูญเสียความสามารถในการกดโฮมแบบกดยาว เนื่องจากขณะนี้ยังไม่มีวิธีรับรู้เหตุการณ์การกดแบบยาวของอินพุตคีย์จำลอง

ฉันตระหนักดีว่าในขณะนี้ วิธีการนี้อาจดูไม่เหมาะสมหรือใช้งานง่าย แต่ในขณะที่เขียนนี้ แอป Custom Navigation Bar ยังไม่ได้รับการอัปเดตเพื่อรองรับการเพิ่มไอคอนของคุณเอง สำหรับตอนนี้ วิธีการของฉัน (ซึ่งเป็นวิธีการทำงานของแอปนั้นอย่างแน่นอน และเมื่อแอปได้รับการอัปเดต ก็จะเผชิญกับข้อจำกัดเดียวกัน) คือวิธีที่คุณสามารถรับไอคอนแบบกำหนดเองที่คุณต้องการบนแถบนำทางของคุณ


เพียงเท่านี้สำหรับบทช่วยสอนนี้ ในบทช่วยสอนต่อๆ ไป ฉันจะแสดงการใช้งานที่เป็นไปได้จริงของการเปลี่ยนแถบนำทางของคุณ โดยเฉพาะอย่างยิ่งในลักษณะตามบริบทโดยใช้แอปอัตโนมัติ เช่น Tasker ปฏิบัติตาม หมวดหมู่บทช่วยสอนบน XDA เพื่อติดตามข่าวสารล่าสุดเกี่ยวกับเคล็ดลับและลูกเล่นล่าสุดทั้งหมดที่เราเผยแพร่