web-dev-qa-db-fra.com

Comment faire en sorte que la barre de mode d'action contextuelle superpose ma disposition au lieu de la "pousser" vers le bas

J'ai implémenté mon propre groupe de vues pour mon application. L'utilisation de la barre d'action n'est pas une option pour diverses raisons, donc dans mon groupe de vues, j'ai mes propres "barres d'action" une en haut et une en bas. L'image 1 illustre ma disposition actuelle.

Image 1

Comme vous pouvez le voir, la mise en page comporte deux éditeurs et tout semble correct.

Cependant, lorsque l'utilisateur sélectionne du texte dans l'un des éditeurs, la barre de mode d'action contextuelle s'affiche. L'image 2 illustre cela.

Image 2

Lorsque cela se produit, la barre de mode d'action "pousse" vers le bas toute ma disposition afin d'obtenir son espace. Dans les tablettes et autres appareils à grand écran, c'est OK, mais dans les petits appareils et en particulier avec le clavier souple visible, la hauteur restante est trop petite (en orientation paysage est inutilisable).

Ce que je veux faire, c'est une barre de mode d'action pour superposer ma disposition au lieu de la pousser vers le bas, comme indiqué dans l'image 3.

Image 3

Est-ce possible?

40
ChD Computers

Il suffit d'ajouter <item name="Android:windowActionModeOverlay">true</item> à votre style.

54
marijnvdwerf

Pour utiliser windowActionModeOverlay avec la barre d'outils compatible avec l'application, utilisez

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

à votre style.

34
Giru Bhai

Cela peut également être fait par programme en utilisant:

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