Android:菜单中的圆角

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

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

以上是关于Android:菜单中的圆角的主要内容,如果未能解决你的问题,请参考以下文章

导航菜单和在android中的选择性片段上添加按钮

片段android中的菜单项调用两次

如何使用菜单按钮将数据从活动传递到android中的片段?

Android:通过更改片段更改菜单项的可见性

如何将片段目标绑定到底部导航栏中的菜单项?

片段中的 Android 谷歌地图