Mogę ukryć pasek akcji w plastrze miodu za pomocą tego kodu:
getActionBar().hide();
Ale kiedy klawiatura otwiera się, a użytkownik kopiuje i wkleja cokolwiek, pasek akcji pojawia się ponownie. Jak mogę trwale wyłączyć pasek akcji?
Mogę ukryć pasek akcji w plastrze miodu za pomocą tego kodu:
getActionBar().hide();
Ale kiedy klawiatura otwiera się, a użytkownik kopiuje i wkleja cokolwiek, pasek akcji pojawia się ponownie. Jak mogę trwale wyłączyć pasek akcji?
Odpowiedzi:
Jeśli używasz
Theme.Holo.Light
i chcesz używać tegoTheme.Holo.Light.NoActionBar
wariantu na urządzeniach w wersji starszej niż 3.2, możesz dodać to dostyles.xml
:a następnie ustaw go jako motyw działania:
źródło
<item name="android:windowFullscreen">true</item>
Ustawiając motyw aktywności w Manifest,
źródło
ActionBar
, dla mnie.Używam następującego kodu wewnątrz mojej funkcji onCreate:
Źródło: https://developer.android.com/guide/topics/ui/actionbar.html
źródło
może to ci pomoże
źródło
Z domyślną generowaną nadklasą Aktywności w Android Studio
ActionBarActivity
, żadne rozwiązanie w innych odpowiedziach nie działa. Aby rozwiązać, po prostu zmień nadklasę:do:
źródło
Jeśli chcesz uzyskać pełny ekran bez actionBar i Title.
Dodaj go w style.xml
i użyj stylu z manifest.xml.
źródło
Najlepszym sposobem, który znalazłem, który daje niestandardowe motywy i nie ma paska akcji, jest utworzenie SuperClass dla wszystkich działań w moim projekcie i wywołanie w nim onCreate () następującego wiersza kodu -
To zawsze działa na mnie. Jedynym problemem w tym podejściu jest to, że podczas uruchamiania aplikacji zobaczysz pasek akcji przez ułamek sekundy (nie aktywność, cała aplikacja).
źródło
źródło
Idź do styles.xml Zmień ten DarkActionBar na NoActionBar
źródło
Możesz wymusić ukrycie paska akcji po prostu:
Po prostu użyj domyślnego motywu.
źródło
Jeśli potrzebujesz tylko motywu bez paska akcji, możesz użyć wariantu „NoActionBar”, na przykład. jeśli twój motyw podstawowy jest taki jak poniżej
wtedy możesz użyć
Ale jeśli chcesz zachować właściwości swojego głównego motywu, czyli AppTheme, możesz zrobić jak poniżej
W ten sposób możesz zachować wszystkie właściwości swojego motywu podstawowego i nie musisz jawnie dodawać ich do motywu NoActionBar :)
źródło
Nie używaj motywu Holo, a pasek akcji zniknie. Ten kod działa dla mnie na API 8+, z obsługą lib v7:
ustaw ten motyw dla swojej aktywności:
i na zajęciach.
Działa nawet wtedy, gdy rozszerza ActionBarActivity.
źródło
Pod res -> values -> styles.xml
Zmiana
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
Do
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
źródło
Oto szybkie rozwiązanie.
Znajdź style.xml i zmień motyw podstawowy aplikacji na „Theme.AppCompat.NoActionBar”, jak pokazano poniżej.
źródło
Poniżej znajdują się kroki umożliwiające trwałe ukrycie paska akcji:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
.Teraz zastąp element nadrzędny dowolnym innym motywem, który w nazwie zawiera „NoActionBar”.
za. Możesz również sprawdzić, jak wygląda motyw, przechodząc do karty projektowania w pliku activity_main.xml, a następnie wypróbowując każdy motyw dostępny na liście rozwijanej motywów w interfejsie użytkownika.
Jeśli Twoja MainActivity rozszerza AppCompatActivity , upewnij się, że używasz motywu AppCompat.
źródło
Wpisz ten kod do swojej
onCreate
metody przedsetContentView
:źródło
Chciałbym raczej napisać podejście projektanta do tego, dzięki temu projekt będzie oddzielony od logiki biznesowej:
Krok 1. Utwórz nowy styl w (res-> values-> styles.xml): Zasadniczo jest to kopia twojego ogólnego schematu z innym rodzicem - parent = "Theme.AppCompat.Light.NoActionBar"
Krok 2: W swoim AndroidManifest.xml dodaj ten motyw do działania, w którym chcesz: np. Chcę, aby moja główna aktywność bez paska akcji, więc dodaj to jak poniżej:
To dla mnie najlepsze rozwiązanie po wypróbowaniu wielu rzeczy.
źródło
w funkcji onCreate dodaj następujący kod
i po prostu zaimportuj android.support.v7.app.ActionBar
źródło
Upewnij się, że utworzyłeś nowy motyw, zmieniając nazwę domyślnego motywu w
styles.xml
pliku na:a następnie zmienić motyw z listy rozwijanej pod Twoim
main_activity.xml
na dowolnie wybrany motyw.źródło
Innym interesującym rozwiązaniem, w którym chcesz zachować ViewPager podczas usuwania paska akcji, jest ustawienie stylu jak pokazano
W ten sposób większość aplikacji Dialer w systemie Android wyświetla ViewPager bez paska akcji.
Odniesienie: https://github.com/CyanogenMod/android_packages_apps_Dialer
źródło
spróbuj tego w swoim manifestie
źródło
źródło
Istnieją dwa sposoby wyłączenia
ActionBar
w systemie Android.źródło
Użyj tego w
styles.xml
pliku:źródło
Używam tego rozwiązania:
w manifeście, wewnątrz tagu aktywności:
oraz w strings.xml:
W ten sposób możesz zachować ActionBar (lub pasek narzędzi) z tytułem, ale po utworzeniu działania tytuł jest automatycznie pusty.
źródło
O dziwo, żaden z nich nie działał dla mnie podczas tworzenia na Nexusie 7 z systemem 4.4.2 (API 19). W większości przypadków, przynajmniej w najnowszej wersji Android Studio (1.2.1.1), po utworzeniu pustej aplikacji do ćwiczeń:
znajduje się w elemencie aplikacji, a nie w elemencie działania. Jeśli usunąłem powyższy kod lub próbowałem go zmienić na:
aplikacja nie będzie działać ... jeśli tak się dzieje, po prostu przejdź do pliku styles.xml (res> values> styles.xml) i dodaj .NoTitleBar na końcu elementu nadrzędnego, jak w tym bloku:
Nie są potrzebne żadne zmiany w pliku AndroidManifest.
źródło
W swoim
activity_main.xml
możesz dostosować stamtąd w linii:Czasami, gdy widzisz takie rzeczy, kliknij tutaj , możesz wybrać motyw „noActionBar”.
Mam nadzieję, że ci pomogłem.
źródło