Показать сообщение отдельно
Старый 05.01.2018, 10:37   #1
daradan
Пользователь
 
Аватар для daradan
 
Регистрация: 08.01.2016
Город: Astana
Регион: Казахстан
Машина: Chevrolet Spark m300
Сообщений: 31
daradan will become famous soon enoughdaradan will become famous soon enough
По умолчанию Добавляем мультимедийные кнопки в navbar/навбар на android 5.x - 7.x

Хочу предупредить, что от пользователя необходимы умения редактировать системные файлы android, иметь root либо рекавери twrp.

Итак, начнем.
Что такое навбар (navigation bar)... А это простым словом часть экрана, где расположены наэкранные кнопки. Вот туда и будем добавлять 6 кнопок (слева - предыдущий трек, плей/пауза, следующий трек, справа - откл, убавить, повысить звук)



Мне вот не хватали мультимедийные кнопки в навбаре после прошивки autodroid и после этого начал искать как это сделать на стоковых aosp прошивках...

[ndroid 5.x
возможно инструкция от 6.0 подойдет
- Декомпилируем \system\priv-app\SystemUI\SystemUI.apk
- Копируем следующие изображения в папку \res\drawable-sw600dp-hdpi-v13 (-v13 может и не быть, зависит от инструмента декомпиляции)
- Сверяем свои файлы и редактируем их
- В конце файла \res\values\ids.xml добавить следующие строки
Код:
    <item type="id" name="volup">false</item>
    <item type="id" name="volmute">false</item>
    <item type="id" name="voldown">false</item>
    <item type="id" name="prev">false</item>
    <item type="id" name="play">false</item>
    <item type="id" name="next">false</item>
- В конце файла \res\values\strings.xml добавить следующие строки
Код:
    <string name="accessibility_prev_track">Previous track.</string>
    <string name="accessibility_play_track">Play track.</string>
    <string name="accessibility_next_track">Next track.</string>
    <string name="accessibility_volume_mute">Mute volume.</string>
    <string name="accessibility_volume_down">Increase volume.</string>
    <string name="accessibility_volume_up">Decrease volume.</string>
Компилируем SystemUI.apk и заменяем в системе.
Готовый патч под TWRP для Nexus 7 2012 под android 5.1 LMY47V

Android 6.0
- декомпилируем \system\priv-app\SystemUI\SystemUI.apk
- копируем следующие изображения в папку \res\drawable-sw600dp-hdpi-v13 (-v13 может и не быть, зависит от инструмента декомпиляции)
- в файле \res\layout-sw600dp-v13\navigation_bar.xml редактируем так
- в \res\values\ids.xml добавить
Код:
   <item type="id" name="volup">false</item>
   <item type="id" name="volmute">false</item>
   <item type="id" name="voldown">false</item>
   <item type="id" name="prev">false</item>
   <item type="id" name="play">false</item>
   <item type="id" name="next">false</item>
- в \res\values\strings.xml добавить
Код:
   <string name="accessibility_prev_track">Previous track.</string>
   <string name="accessibility_play_track">Play track.</string>
   <string name="accessibility_next_track">Next track.</string>
   <string name="accessibility_volume_mute">Mute volume.</string>
   <string name="accessibility_volume_down">Increase volume.</string>
   <string name="accessibility_volume_up">Decrease volume.</string>
Компилируем SystemUI.apk и заменяем в системе.

Android 7.x
Просто устанавливаем приложение Custom Navigation Bar (свежие версии тут) и через него добавляем/настраиваем кнопки

либо проделываем так
- декомпилируем \system\priv-app\SystemUI\SystemUI.apk
- в файле \res\xml\tuner_prefs.xml перед (либо в любом удобном для вас месте)
Код:
   <Preference android:title="@string/other" android:key="other" android:fragment="com.android.systemui.tuner.OtherPrefs" />
добавить
Код:
   <Preference android:title="@string/nav_bar" android:key="sysui_nav_bar" android:fragment="com.android.systemui.tuner.NavBarTuner" />
Компилируем SystemUI.apk и заменяем в системе.
Открываем шторку, жмем шестеренку (настройки) 5-7 секунд и отпускаем. Откроется настройки. В самом конце появится пункт "System UITuner". Заходим в панель навигации и добавляем/изменяем кнопки.
Иконки можно взять отсюда
P.S. на некоторых устройствах возможно иконки после перезагрузки слетят
Есть еще способ через adb/терминал

На всех версиях android
Кто хочет изменить высоту навбара, то проделываем так:
- декомпилируем \system\framework\framework-res.apk
- в файле \res\values\dimens.xml значение на
Код:
navigation_bar_height_landscape
изменить к примеру из 48 на 36.
Компилируем framework-res.apk и заменяем в системе.

На этом все. У меня это выглядит так

Последний раз редактировалось basurman; 22.09.2018 в 12:06.
daradan вне форума   Ответить с цитированием