Я провел некоторое исследование и нашел способ изменить положение всплывающего меню по теме (код, прикрепленный в конце, если вам это нужно), но не смог изменить ширину, чтобы соответствовать всему экрану, не уверен, что Android сделал некоторые ограничения в меню.
Если вам нужен выпадающий список, точно такой же, как на вашей картинке, спиннер тоже может не быть идеальным выбором, вам лучше создать новое действие, которое накладывается на исходное действие, и настроить новый макет действия, но это не рекомендуется, учитывая производительность. Кроме того, вы можете найти что-то в более раннем посте , чтобы узнать, дает ли это вам какую-либо идею.
добавить новый стиль:
<style name="OverflowMenuStyle" parent="@style/ThemeOverlay.AppCompat.Light">
<item name="overlapAnchor">false</item><!--not overlay the toolbar-->
<!--<item name="android:dropDownWidth">10dp</item> not work-->
<!--<item name="android:maxWidth">400dp</item> not work-->
<item name="android:paddingRight">0dp</item>
<!--dropDownVerticalOffset is the property you want to avoid overlay the toolbar-->
<item name="android:dropDownVerticalOffset">4dp</item>
<item name="android:dropDownHorizontalOffset">0dp</item>
<item name="android:popupBackground">#BFBFBF</item>
</style>
Android Расположение ресурсов Панель инструментов папки. xml, измените popupTheme на:
android:popupTheme="@style/OverflowMenuStyle"
добавьте элемент в стиле MainTheme.Base:
<item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>