Comment afficher le menu contextuel sous la barre d'action ci-dessous?

Je travaille sur popup-menu en actionbar. Mais je suis coincé pour afficher exactement en dessous de la barre d'action (coupe-à-couper). Je met deux instantanés.

Ma capture d'écran de problème:

  • IncompatibleClassChangeError après la mise à jour vers Android Build Tools 25.1.6 GCM / FCM
  • Human DhcpInfo.ipAddress lisible par l'humain?
  • Dernière mise à jour sur l'activation et la désactivation des données mobiles par programme
  • Le titre et la description du produit ne s'affichent pas après le remplacement de la clé publique (Base64).
  • Lambda provoque l'exception du compilateur dans le module de bibliothèque Android
  • Comment utiliser deux curseurs et CursorJoiner dans LoaderManager dans Android
  • Entrez la description de l'image ici

    Je veux le menu contextuel exact ci-dessous de la barre d'action comme ci-dessous capture d'écran

    Capture d'écran de correction:

    Entrez la description de l'image ici

    Mon extrait de code:

    <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> <item android:id="@+id/action_filter" android:icon="@drawable/ic_filter_white_18dp" android:title="@string/action_filter" app:showAsAction="ifRoom" /> <item android:id="@+id/action_label" android:icon="@drawable/ic_add_circle_outline_white_18dp" android:title="@string/action_label" app:showAsAction="ifRoom" /> <item android:id="@+id/action_settings" android:title="@string/action_settings" app:showAsAction="never" /> 

    5 Solutions collect form web for “Comment afficher le menu contextuel sous la barre d'action ci-dessous?”

    Définissez le thème sur Android pour manifester

     android:theme="@android:style/Theme.Holo.Light" 

    Selon mon code, c'est une sutution exacte en changeant de style.

     <style name="AppTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/MyActionBar</item> <item name="android:actionMenuTextColor">@color/text_white</item> <item name="android:popupMenuStyle">@style/PopupMenu.Example</item> <item name="actionOverflowMenuStyle">@style/OverflowMenu</item> </style> <style name="PopupMenu.Example" parent="@android:style/Widget.Holo.Light.ListPopupWindow"> <item name="android:popupBackground">#efefef</item> </style> <style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow"> <!-- Required for pre-Lollipop. --> <item name="overlapAnchor">false</item> <!-- Required for Lollipop. --> <item name="android:overlapAnchor">false</item> <item name="android:dropDownVerticalOffset">4.0dip</item> </style> 

    Lorsque vous travaillez avec AppCompat Theme, le code ci-dessous vous aide. Kitkat ou Lollipop

    Faites votre style.xml comme ci-dessous

     <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/black</item> <item name="android:background">@android:color/transparent</item> <item name="actionOverflowMenuStyle">@style/OverflowMenu</item> </style> <style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow"> <item name="android:windowDisablePreview">true</item> <item name="overlapAnchor">false</item> <item name="android:dropDownVerticalOffset">5.0dp</item> <!--<item name="android:popupBackground">#FFF</item>--> </style> 

    Si vous souhaitez continuer à utiliser le thème ActionBar et AppCompat plutôt que le thème ToolBar ou Holo , vous pouvez utiliser ce code:

     <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="actionOverflowMenuStyle">@style/MyOverflowMenu</item> </style> <style name="MyOverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow"> <item name="overlapAnchor">false</item> <item name="android:overlapAnchor" tools:ignore="NewApi">false</item> <item name="android:dropDownVerticalOffset">4.0dip</item> </style> 

    Cela a fonctionné pour moi.

    Vous pouvez le faire par propriété de style overlapAnchor = false

      <style name="toolBarStyle" parent="AppTheme"> <item name="popupTheme">@style/toolbarPopup</item> </style> <style name="toolbarPopup" parent="@android:style/Widget.Holo.ListPopupWindow"> <!--ThemeOverlay.AppCompat.Light--> <item name="android:popupBackground">#AF0000</item> <item name="overlapAnchor">false</item> <item name="android:dropDownVerticalOffset">5dp</item> </style> 

    Et définissez ce style dans AppTheme comme ci-dessous

     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- to avoid overlay of popup window in toolbar --> <item name="actionOverflowMenuStyle">@style/toolBarStyle</item> </style> 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.