2013-07-04 3 views
32

내 응용 프로그램에 대한 내 자신의보기 그룹을 구현했습니다. 액션 바를 사용하는 것은 여러 가지 이유로 옵션이 아니므로 내 뷰 그룹에서 맨 위에 하나는 맨 아래에 하나의 "액션 바"를 가지고 있습니다. 이미지 1은 현재 레이아웃을 보여줍니다.상황에 맞는 액션 모드 막대를 "밀어 넣는"대신 배치하는 방법

Image 1

당신이 레이아웃이 edittexts가 볼 수있는 모든 것이 괜찮아 보이는.

그러나 사용자가 편집 텍스트에서 텍스트를 선택하면 상황 별 액션 모드 막대가 표시됩니다. 이미지 2는 이것을 설명합니다. 이 actionmode 줄을 발생하면

Image 2

내 전체 레이아웃 아래의 공간을 얻기 위해 "밀어". 태블릿 및 기타 대형 화면 장치에서 이것은 정상이지만 작은 장치에서는 특히 소프트 키보드가 보이기 때문에 나머지 높이가 너무 작습니다 (가로 방향에서는 사용할 수 없음). 이미지에 표시된 3

Image 3

이 가능한가요로

내가하고 싶은 내 레이아웃을 오버레이 대신 아래로 밀어하는 actionmode 바는 무엇입니까?

답변

49

스타일에 <item name="android:windowActionModeOverlay">true</item>을 그냥 추가하십시오. 당신이 액션 바는 ... 컨텐츠를 오버레이 APPCOMPAT 툴바 windowActionModeOverlay을 사용하려면 당신의 스타일

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

O.M.G.을 : – Christos

+12

나는 나를 위해 일하지 않았다. 나는 "Theme.AppCompat.Light.NoActionBar"와 툴바를 사용하고 있습니다. – user987760

+1

어떻게 든 저에게 잘 맞지 않습니다. : S – Ewoks

0

, 당신의 스타일에

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

를 사용합니다.

getWindow().requestFeature(Window.FEATURE_ACTION_MODE_OVERLAY); 
+2

1 년 전 답을 반복하면됩니까? – IlyaEremin

29

에이 코드를 추가 할 경우

+1

어쩌면 이것이 허용 된 대답으로 바뀌어야 할 수도 있습니다. 나는 AppCompat이 원래 응답을 '13 '에 올렸을 때도 문제가되지 않는다고 생각합니다. – marijnvdwerf

1

또한 사용하여 프로그래밍 할 수 있습니다 이 유형은 "누구가 그 방법을 놓칠 수 있습니까?"유형이었습니다. 매력처럼 작동, 정말 고마워요!