2013-07-04 16 views
32

Zaimplementowałem własną grupę przeglądową dla mojej aplikacji. Używanie actionbar nie jest opcją z różnych powodów, więc w mojej grupie przeglądowej mam swoje własne "paski akcji", jeden na górze i jeden na dole. Obraz 1 ilustruje mój obecny układ.Jak ustawić kontekstowy pasek trybu działania nakłada się na mój układ zamiast "przesuwania" go w dół

Image 1

Jak widać istnieją dwie edittexts w układzie i wszystko wygląda OK.

Jednak po wybraniu przez użytkownika tekstu w jednym z tekstów edycyjnych wyświetlany jest kontekstowy pasek trybu działania. Zdjęcie 2 ilustruje to.

Image 2

Kiedy to nastąpi poprzeczkę actionmode „wypycha” w dół mojego całego układu w celu uzyskania jego przestrzeń. W tabletach i innych urządzeniach z dużym ekranem jest to w porządku, ale w mniejszych urządzeniach, a zwłaszcza przy widocznej miękkiej klawiaturze, pozostała wysokość jest zbyt mała (w orientacji poziomej nie można jej użyć).

Co chcę zrobić, to actionmode bar nakładka mój układ zamiast przesuwając ją w dół, jak przedstawione na zdjęciu 3.

Image 3

Czy to możliwe?

Odpowiedz

49

Po prostu dodaj <item name="android:windowActionModeOverlay">true</item> do swojego stylu.

+2

O.M.G. Ten był typu "Jak ktoś może to przegapić?". Pracowałem jak urok, dziękuję bardzo !!! – Christos

+12

Nie pracowałem dla mnie. używam "Theme.AppCompat.Light.NoActionBar" i paska narzędzi – user987760

+1

Jakoś nie działa również dla mnie. : S – Ewoks

0

Jeśli chcesz actionbar nakładka zawartości ... dodaj ten kod do swoich stylów

<item name="android:windowActionBarOverlay">true</item> 
+2

Po prostu powtórz odpowiedź rok temu? – IlyaEremin

29

Aby korzystać windowActionModeOverlay z AppCompat pasku narzędzi użyć

<item name="windowActionModeOverlay">true</item> 

do Twojego stylu.

+1

Może to powinno zostać zmienione na akceptowaną odpowiedź. Nie wydaje mi się, żeby AppCompat było czymś, gdy opublikowałem oryginalną odpowiedź w '13. – marijnvdwerf

1

Można to również zrobić programowo przy użyciu:

getWindow().requestFeature(Window.FEATURE_ACTION_MODE_OVERLAY); 
Powiązane problemy