2013-09-27 20 views
16

Buduję niestandardowy obraz. Przechodzę przez źródło Androida, chcę pozbyć się dolnego paska przycisków softkey w Androidzie, czy ktoś może skierować mnie do pliku źródłowego, aby to zmienić? enter image description hereJak usunąć pasek przycisków na dole ekranu

+1

Youtube robi to –

+2

@DjHacktoReborn Jak doszło do wniosku, że nie jest to możliwe? Kilka aplikacji przynajmniej ukrywa ten pasek w różnym czasie. – jwir3

Odpowiedz

20

Aby włączyć/wyłączyć je, o ile wiem, po prostu trzeba edytować build.prop:

qemu.hw.mainkeys=0 (show on screen buttons) 

lub

qemu.hw.mainkeys=1 (disable on screen buttons) 

Jeśli linia nie istnieją w build.prop, dodaj go na dole.

+0

Czy plik build.rop zawsze istnieje na wszystkich urządzeniach z Androidem, które korzystają z przycisków miękkich, czy może różnić się w zależności od producenta? – JohnyTex

6

Nie można ukryć go na stałe, jednakże:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 

ten kod ukrywa klawiszy, dopóki użytkownik wchodzi w interakcję z aplikacją. Jest to celowo zaprojektowane w ten sposób, po prostu wyobraź sobie, że nie zapewniasz żadnego środka, aby wyjść z bieżącego ekranu i ukryć te klucze, użytkownik zostanie "uwięziony" w jednostronnym ślepym zaułku.

Możesz znaleźć więcej here.

+0

To rozwiązanie tymczasowe, ale jest to bardzo przydatne rozwiązanie w normalnych okolicznościach. – Shri

+0

Nie zauważyłem, że budujesz obraz i uważasz, że potrzebujesz rozwiązania w aplikacji. Oczywiście nie jest to twój dokładny przypadek użycia. :) – hundeva

+0

Dzięki, pomogło mi to robić zrzuty ekranu. Aby ukryć dolny pasek nawet po interakcji z aplikacją, wywołuję tę metodę w pętli, która działa co sekundę (ponownie, tylko tymczasowo, gdy robię zrzuty ekranu). – VinceFior

-1

myślę, że to jest możliwe

Aby ukryć programowy Spróbuj getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); ale to nie działa na tablecie 4+.

3

Po wprowadzeniu nowego SureLock dla Samsunga, Dolny pasek może być wyłączony lub ukryty bez zrootowania urządzenia. Wszystko co musisz zrobić, to zainstalować SureLock Lockdown dla Samsung i wykonaj procedury wymienione w poniższej witrynie

http://www.42gears.com/blog/2013/07/disablehide-android-bottom-bar-without-rooting-samsung-galaxy-tablets/

Sprawdź następujące link.It może pomóc w zrozumieniu go.

http://www.42gears.com/blog/2012/02/disable-bottom-bar-in-android-honeycomb-tablets-with-surelock/

1

Jeśli tylko chcesz, aby pasek nawigacyjny (pasek przycisków) mniej rozpraszające, spróbuj youractivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)

4
getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
       | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 

użyć tego kodu w onCreate. Wymaga to jednak api lv ponad 19.

4

Oprócz odpowiedzi Aakut Burak SAFAK powyżej, możesz umieścić swój kod w zdarzeniu onWindowFocusChanged, aby mieć pewność, że zawsze gdy kamera Activity uzyska fokus (np. Po odblokowaniu) zachowuje pełny ekran bez stanu klawiszy programowalnych .

@Override 
public void onWindowFocusChanged(boolean hasFocus){ 
    super.onWindowFocusChanged(hasFocus); 
    getWindow().getDecorView().setSystemUiVisibility(
      View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
        | View.SYSTEM_UI_FLAG_FULLSCREEN 
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 
} 
0

Tak, można za pomocą tego w swojej działalności:

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
     super.onWindowFocusChanged(hasFocus); 
    if (hasFocus) { 
     decorView.setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
       | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);} 
} 
5

Najłatwiej zrobić zrzut ekranu bez dolnym pasku nawigacyjnym jest użycie emulatora (AVD) i edytować swój plik konfiguracyjny .

idź do .android/AVD/virtual-device.avd

Następnie edytować config.ini:

hw.mainKeys=yes 
hw.keyboard=yes 

Obie powinny być ustawione na „tak”

Aby móc ponownie zobaczyć pasek, ustaw je na „nie”.

+0

Działa to idealnie do robienia zdjęć promocyjnych dla nowszych emulatorów Studio Studio w połączeniu z trybem demonstracyjnym paska stanu. Nowe emulatory nie są zrootowane, więc nie można łatwo modyfikować build.trop, ale jest to bardzo miłe obejście. – Gira

+0

Nie działa dla mnie, zmieniając mainkeys tak, aby emulator zwisał podczas startu systemu. Zmiana z powrotem na nie powoduje ponowne uruchomienie. Nexus 5X API 26 – thanhbinh84

+2

@ thanhbinh84 ma ten sam problem, ale działa dobrze z Pixel API 23 –

Powiązane problemy