web-dev-qa-db-ja.com

コンテキストアクションモードバーをレイアウトを「押し下げる」のではなくオーバーレイする方法

アプリケーションに独自のビューグループを実装しました。アクションバーを使用することはさまざまな理由でオプションではないので、私のビューグループでは、独自の「アクションバー」を上に1つ、下に1つあります。画像1は現在のレイアウトを示しています。

Image 1

ご覧のとおり、レイアウトには2つの編集テキストがあり、すべて問題ありません。

ただし、ユーザーが編集テキストのいずれかでテキストを選択すると、コンテキストアクションモードバーが表示されます。画像2はこれを示しています。

Image 2

これが発生すると、actionmodeバーがレイアウト全体を「押して」、そのスペースを確保します。タブレットや他の大画面デバイスではこれで問題ありませんが、小さいデバイスでは、特にソフトキーボードが表示されている場合、残りの高さが小さすぎます(横向きでは使用できません)。

私がやりたいのは、画像3に示すように、レイアウトを押し下げるのではなく、レイアウトをオーバーレイするactionmodeバーです。

Image 3

それは可能ですか?

40
ChD Computers

スタイルに<item name="Android:windowActionModeOverlay">true</item>を追加するだけです。

54
marijnvdwerf

AppcompatツールバーでwindowActionModeOverlayを使用するには、以下を使用します

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

あなたのスタイルに。

34
Giru Bhai

これは、以下を使用してプログラムで行うこともできます。

 getWindow().requestFeature(Window.FEATURE_ACTION_MODE_OVERLAY);
3
Dean Wild