Ответ 1
Просто добавьте <item name="android:windowActionModeOverlay">true</item>
в свой стиль.
Я применил свою собственную группу просмотра для своего приложения. Использование панели действий не является вариантом по разным причинам, поэтому в моей группе просмотра у меня есть свои собственные "панели действий" один сверху и один внизу. На рисунке 1 показан мой текущий макет.
Как вы можете видеть, в макете есть два edittexts, и все выглядит нормально.
Однако, когда пользователь выбирает какой-либо текст в любом из edittexts, отображается контекстная панель действия. На рисунке 2 показано это.
Когда это происходит, панель actionmode "толкает" мой весь макет, чтобы получить его пространство. В планшетах и других устройствах с большим экраном это нормально, но в небольших устройствах, особенно с мягкой клавиатурой, видимая остальная высота слишком мала (в альбомной ориентации непригодна).
Что я хочу сделать, это панель действий, чтобы наложить мой макет, а не нажимать его, как показано на рисунке 3.
Возможно ли это?
Просто добавьте <item name="android:windowActionModeOverlay">true</item>
в свой стиль.
Чтобы использовать windowActionModeOverlay
с панелью инструментов appompat, используйте
<item name="windowActionModeOverlay">true</item>
в ваш стиль.
Это также можно выполнить программно, используя:
getWindow().requestFeature(Window.FEATURE_ACTION_MODE_OVERLAY);
Если вы хотите, чтобы панель действий накладывала содержимое... добавьте этот код в свои стили
<item name="android:windowActionBarOverlay">true</item>