如何强制PopupMenu重叠锚点?我想重新创建类似this的内容:
答案 0 :(得分:13)
设置overlapAnchor允许我重叠锚点视图而不设置偏移量:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="popupMenuStyle">@style/PopupMenu</item>
</style>
<style name="PopupMenu" parent="@style/Widget.AppCompat.Light.PopupMenu">
<item name="overlapAnchor">true</item>
</style>
PopupMenu将ListPopupWindow包装在其中。此ListPopupWindow使用此overlapAnchor属性包装AppCompatPopupWindow。所有这些都在支持库中。
答案 1 :(得分:8)
替代Paritosh Tonk的答案:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="popupMenuStyle">@style/Widget.AppCompat.Light.PopupMenu.Overflow</item>
</style>
或黑暗主题:
<style name="AppTheme.Dark" parent="Theme.AppCompat.NoActionBar">
<item name="popupMenuStyle">@style/Widget.AppCompat.PopupMenu.Overflow</item>
</style>
答案 2 :(得分:1)
设置android:dropDownVerticalOffset
允许我重叠锚视图:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="popupMenuStyle">@style/PopupMenu</item>
</style>
<style name="PopupMenu" parent="@style/Widget.AppCompat.Light.PopupMenu">
<item name="android:dropDownVerticalOffset">-36dip</item>
</style>
答案 3 :(得分:0)
您是否考虑过使用PopupWindow?这些提供了更多的灵活性。您可以指定锚点视图以及可以定义重叠的x和y偏移量。
答案 4 :(得分:0)
当我试图弄清楚当锚点在actionBar中时如何创建一个与其锚点重叠的弹出菜单时,我来到这里。由于这是该问题的显着搜索结果,我想即使我不确定该解决方案是否适用于OP,也可以在这里留下答案。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<!-- This item will expand into a submenu -->
<item
android:id="@+id/anchor"
android:icon="@drawable/ic_anchor"
android:title="@string/anchor"
app:showAsAction="always">
<menu>
<item
android:id="@+id/subMenuItemOne"
android:showAsAction="never"
android:title="SubMenuItemOne"/>
<item
android:id="@+id/subMenuItemTwo"
android:showAsAction="never"
android:title="SubMenuItemTwo"/>
</menu>
</item>
</menu>