Android(菜单中的圆角)

非淡泊无以明志,非宁静无以致远。这篇文章主要讲述Android:菜单中的圆角相关的知识,希望能为你提供帮助。
在我的MainActivity中,在onCreateOptionsMenu方法中,我使用四个项目来扩展基本菜单(请参阅menu_main.xml)。 由于DialogFragments中可能有圆角,我如何获得此菜单的圆角?正如您在屏幕截图中看到的那样,菜单在整个Activity的顶部显示为溢出菜单(是的,android在点击三个点时为您提供的基本菜单)。 Screenshot here: MainActivity with menu opened我做了什么 至于Dialog,我在menu_main.xml ---菜单和菜单节点中添加了android:background="@drawable/basic_rounded_corners ---> 不工作(因为我不知道如何以编程方式设置菜单的backgroundDrawable,如果它甚至可能是DialogFragments)
我想要的是 我想知道如何在菜单上找到圆角。menu_main.xml

< 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="com.beagleentertain.pillreminder.MainActivity" android:background="@drawable/basic_rounded_corners"> < item android:id="@+id/action_settings" android:orderInCategory="100" android:title="@string/checkable_make7dayspause" android:checkable="true" android:checked="false" app:showAsAction="ifRoom" /> < item android:id="@+id/about_settings" android:orderInCategory="100" android:title="@string/text_menu_about" app:showAsAction="ifRoom" /> < item android:id="@+id/settings_settings" android:orderInCategory="100" android:title="@string/action_settings" app:showAsAction="ifRoom" /> < item android:id="@+id/settings_share" android:orderInCategory="100" android:title="@string/action_share" app:showAsAction="ifRoom" />


答案首先,您需要在活动中使用工具栏,以便为popMenu设置样式。
< android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/colorPrimary" app:popupTheme="@style/ThemeOverlay.MyTheme" app:titleTextColor="#f0f0f0"/>

然后添加此样式并确保将colorBackground设置为透明,以便圆角正确显示,然后使用任何可绘制的形状作为背景。
< style name="ThemeOverlay.MyTheme" parent="ThemeOverlay.AppCompat.Light"> < item name="android:colorBackground"> @android:color/transparent< /item> < item name="android:textColor"> #000000< /item> < item name="android:background"> @drawable/rounded< /item> < /style>

【Android(菜单中的圆角)】如果你想创建一个完全自定义的窗口,你可以在这个Article中学习本教程。只需确保在根视图中添加圆形作为背景。

    推荐阅读