Изменение размера экрана для отображения только на рабочей части полуфункционального сенсорного экрана

12

У меня есть телефон OnePlus Android. Сенсорный экран недавно начал работать со сбоями, так что нижний сантиметр экрана не работает, но остальная часть экрана работает отлично. К сожалению, нижний сантиметр содержит много важных функций. Есть ли способ изменить размер моего дисплея или разрешение, чтобы исключить нижний сантиметр моего экрана?

Села
источник
Так как это нижний сантиметр, вы, вероятно, можете установить его для использования как емкостных, так и экранных кнопок навигации. Таким образом, панель навигации заполнит непригодную часть, и вы все равно сможете использовать емкостные кнопки для навигации.
user1762507

Ответы:

14

Примечания:

  • Мое решение протестировано на Stock Android 4.4.2 и Stock CyanogenOS 12 (5.0) OnePlus One и должно работать на Android 4.3 и выше (основываясь на этом ответе ).
  • Я упоминал везде, где требуется root-доступ.
  • Этот ответ был взят из моего ответа на немного другой вопрос здесь .

Я использовал следующий комментарий в качестве основы для работы:

Нижние 20% моего Nexus 4 не работают. Я использую: wm overscan 0,0,0,210чтобы андроид WM не рисовал ничего в этой области, чтобы я мог снова полностью управлять всеми нарисованными областями .. - Thrustmaster

Инструкции:

  1. Включите USB-отладку в вашем телефоне.
  2. Установите инструменты ADB на свой ПК, подключите к нему свое устройство и убедитесь, что устройство обнаруживается в нем adb devices.
  3. Нам нужно знать разрешение и плотность отображения устройства. В терминале / cmd введите adb shell dumpsys display | grep mBaseDisplayInfoдля отображения информации, связанной с отображением. Вывод может выглядеть так:

    mBaseDisplayInfo=DisplayInfo{"Built-in Screen", app 480 x 854, real 480 x 854, largest app 480 x 854, smallest app 480 x 854, 64.29 fps, rotation 0, density 240, 240.0 x 240.0 dpi, layerStack 0, type BUILT_IN, address null, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}
    

    Соответствующая информация в моем случае:

    • реальный 1080x1920
    • плотность 480
    1. Наиболее полезные команды:

      • wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]
      • wm density [reset|DENSITY]

      Мой экран запуска по умолчанию без настроек выглядел так:

    2. Чтобы уменьшить вывод экрана внизу, введите команду:

      adb shell wm overscan 0,0,0,100
      

      Обратите внимание, что я использовал дальнейшее сокращение до upto, 0,0,0,300и результат был таким:

      Отрегулируйте значение для ваших желаемых потребностей.

    3. Возможно, вам придется исправить плотность, так как дисплей может выглядеть странно . Плотность отображения моего устройства по умолчанию составляет 480 точек на дюйм, поэтому я настроил это следующим образом:

      adb shell wm density 440
      

      и результирующий экран был таким . Приложение под подредактированны разрешением.

    4. Обратите внимание, что вы можете использовать adb shell wm density resetи adb shell wm overscan resetдля возврата к плотности и разрешению по умолчанию соответственно.
    5. Теперь, когда «мертвая сенсорная зона» позаботилась о том, чтобы использовать виртуальные / программные клавиши (только если вам это нужно).

      1. Иззи уже рассмотрел этот ответ . В противном случае вы можете использовать Gravitybox LP (для пользователей Lollipop) или Gravitybox KK (для пользователей Kitkat ). Это модуль Xposed, требующий root-доступа и установленной Xposed Framework .

        Установите, активируйте и запустите Gravitybox → Настройки панели навигацииВключить панель навигации → выполните перезагрузку, и софт-клавиши, также известные как панель навигации, будут включены.

      2. Пользовательские ПЗУ, такие как Cyanogenmod и некоторые стандартные ПЗУ, имеют возможность включить софт-клавиши (кнопки) в разделе « Настройки» . Вы можете использовать эту опцию, так как она не требует никакого корневого доступа.

      3. После некоторых настроек последний экран моего Android 5.0 выглядел следующим образом:

        IMG: после некоторых дополнительных настроек последний экран моего Android 5.0 выглядел так

Мы в порядке!

Повелитель огня
источник
Хотел бы я знать об этом, когда разбил свои другие телефоны! После игры с этим я не мог заставить свою клавиатуру Nexus 6 приспособиться в пейзаже. Мне не хватает правой стороны клавиатуры. Он прекрасно работает в портретном, поэтому это должен быть редкий случай, когда это действительно инвалидность. К счастью, я просто облажался и не нуждаюсь в этом прямо сейчас, но это здорово знать. Путь умная работа! Спасибо.
Кристофер
@ Kristopher Ты тоже подправил плотность и перезапустил устройство? Некоторые приложения не реагируют на изменения размера дисплея.
Повелитель огня
1
Я думал, что я не перезагрузился, и вы правы. Вещи изменились тогда. Хорошие вещи (:
Кристофер
1
Прекрасно работает. Я получал ошибку «android.permission.SHUTDOWN» при попытке изменить плотность, но это только потому, что мой OPO требовал обязательного перезапуска после изменения плотности. Сделал ручной перезапуск и все было хорошо.
Шри
1
Кстати, (в OPO, CyanogenOS) мы также можем изменить плотность из Настройки -> Дисплей и освещение -> Плотность ЖК-дисплея. Он автоматически запросит перезагрузку.
Шри