Zmień rozmiar ekranu, aby wyświetlać się tylko na działającej części półfunkcyjnego ekranu dotykowego

12

Mam telefon z systemem Android OnePlus. Niedawno ekran dotykowy zaczął działać nieprawidłowo, dlatego dolny centymetr ekranu nie działa, ale reszta ekranu działa doskonale. Niestety dolny centymetr zawiera wiele ważnych funkcji. Czy istnieje sposób zmiany rozmiaru wyświetlacza lub rozdzielczości, aby wykluczyć dolny centymetr mojego ekranu?

Selah
źródło
Ponieważ jest to dolny centymetr, prawdopodobnie można ustawić go tak, aby używał zarówno pojemnościowych, jak i ekranowych przycisków nawigacji. W ten sposób pasek nawigacyjny odłoży nieużywaną część i nadal możesz używać przycisków pojemnościowych do nawigacji.
user1762507

Odpowiedzi:

14

Uwagi:

  • Moje rozwiązanie jest testowane na Stock Android 4.4.2 i Stock CyanogenOS 12 (5.0) OnePlus One i powinien działać na Androidzie 4.3 i nowszych (w oparciu o tę odpowiedź ).
  • Wspomniałem wszędzie tam, gdzie wymagany jest dostęp do konta root.
  • Ta odpowiedź została zaczerpnięta z mojej odpowiedzi na nieco inne pytanie tutaj .

Jako podstawę do pracy wykorzystałem następujący komentarz :

Dolne 20% mojego Nexusa 4 nie działa. Używam: wm overscan 0,0,0,210aby android WM nie rysował niczego w tym obszarze, dzięki czemu mogę w pełni obsługiwać wszystkie narysowane obszary. - Thrustmaster

Instrukcje:

  1. Włącz debugowanie USB w swoim telefonie.
  2. Zainstaluj narzędzia ADB na komputerze, podłącz do niego urządzenie i upewnij się, że wykrywa ono urządzenie adb devices.
  3. Musimy znać rozdzielczość i gęstość wyświetlania urządzenia. W terminalu / cmd wprowadź, adb shell dumpsys display | grep mBaseDisplayInfoaby wyświetlić informacje związane z wyświetlaniem. Dane wyjściowe mogą wyglądać następująco:

    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}
    

    Istotna informacja w moim przypadku to:

    • prawdziwe 1080x1920
    • gęstość 480
    1. Najbardziej przydatne polecenia do użycia to:

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

      Mój domyślny ekran uruchamiania bez poprawek wyglądał następująco:

    2. Aby zmniejszyć wyświetlanie ekranu u dołu, wydaj polecenie:

      adb shell wm overscan 0,0,0,100
      

      Zauważ, że użyłem dalszej redukcji przez upto 0,0,0,300i wynik był taki:

      Dostosuj wartość do swoich potrzeb.

    3. Może być konieczne skorygowanie gęstości, ponieważ wyświetlacz może wyglądać dziwnie . Domyślna gęstość wyświetlania mojego urządzenia to 480 dpi, więc poprawiłem go w ten sposób:

      adb shell wm density 440
      

      i ekran Uzyskany jak to . Aplikacja pod tweaked rozmiar.

    4. Pamiętaj, że możesz użyć adb shell wm density reseti, adb shell wm overscan resetaby powrócić odpowiednio do domyślnej gęstości i rozdzielczości.
    5. Teraz, gdy zadbano o „strefę martwego dotyku”, nadszedł czas, aby używać klawiszy wirtualnych / miękkich (tylko jeśli potrzebujesz).

      1. Izzy już to ujął w tej odpowiedzi . W przeciwnym razie możesz użyć Gravitybox LP (dla użytkowników Lollipop) lub Gravitybox KK (dla użytkowników Kitkat). Jest to moduł Xposed, który wymaga dostępu do roota i zainstalowanego Xposed Framework .

        Zainstaluj, aktywuj i uruchom Gravitybox → Poprawki paska nawigacyjnegoWłącz pasek nawigacyjny → zrestartuj komputer, a przyciski programowe aka pasek nawigacyjny zostaną uznane za włączone.

      2. Niestandardowa pamięć ROM, taka jak Cyanogenmod i niektóre standardowe ROM, ma opcję włączenia klawiszy programowalnych (przycisków) w Ustawieniach . Możesz użyć tej opcji, ponieważ nie wymaga ona dostępu do konta root.

      3. Po kilku dalszych poprawkach końcowy ekran mojego Androida 5.0 wyglądał następująco:

        IMG: Po kilku dalszych poprawkach wyglądał ostatni ekran mojego Androida 5.0

Jesteśmy gotowi do wyjścia!

Firelord
źródło
Chciałbym wiedzieć o tym, kiedy rozwaliłem inne telefony! Po tym, jak się z tym bawiłem, nie mogłem zmusić klawiatury Nexusa 6 do regulacji w układzie poziomym. Brakuje prawej strony klawiatury. Działa dobrze w portrecie, więc powinien to być rzadki przypadek, gdy jest to niepełnosprawność. Na szczęście po prostu się pieprzę i nie potrzebuję tego teraz, ale fajnie jest wiedzieć. Sprytna praca! Dziękuję Ci.
Kristopher
@Kristopher Czy dostosowałeś również gęstość i zrestartowałeś urządzenie? Niektóre aplikacje nie reagują na zmiany wielkości wyświetlacza.
Firelord
1
Myślałem, że nie uruchomiłem się ponownie i masz rację. Wtedy wszystko się zmieniło. Dobre rzeczy (:
Kristopher
1
Działa świetnie. Otrzymywałem android.permission.SHUTDOWN odmówił błędu podczas próby zmiany gęstości, ale było to tylko dlatego, że moje OPO wymagało obowiązkowego ponownego uruchomienia po zmianie gęstości. Zrobiłem ręczny restart i wszystko było w porządku.
Shri
1
BTW, (W OPO, CyanogenOS) możemy również zmienić gęstość w Ustawieniach -> Wyświetlacz i światła -> Gęstość LCD. Automatycznie wyświetli monit o ponowne uruchomienie.
Shri