[英]How to give round corners to a PopupMenu
我想在一个圆角上添加一个 PopupMenu。我通过在 appTheme 中使用 roundCornerDrawable 在工具栏上成功地做到了这一点,使它变成了圆角。 但我想要的是给一个 popupMenu 一个圆角,它是在一个按钮上动态创建的,这与通过膨胀它在工具栏中创建的 popupMenuu 不同。
提前致谢 !
您可以创建一个包含圆形的 xml 文件。 您可以使用此 shape_background.xml 文件将其用作弹出菜单中的背景。
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="40dp" />
<!--If your shape requires only one solid color-->
<!--<solid
android:color="#FFFFFF" />-->
<size
android:width="82dp"
android:height="82dp" />
<!--Use android:dashWidth="2dp" and android:dashGap="2dp"
to add dashes to your stroke-->
<stroke
android:width="2dp"
android:color="#FFFFFF" />
<!--If you want to add padding-->
<!-- <padding
android:left="10dp"
android:top="20dp"
android:right="40dp"
android:bottom="8dp" />-->
</shape>
您可以使用此代码将此 xml 文件用作弹出菜单中的背景。 然后以 styles.xml 中声明的自定义样式引用该可绘制对象,例如
<style name="Widget.MPM.Menu.Dark.CustomBackground">
<item name="android:popupBackground">@drawable/mtrl_popupmenu_background</item>
</style>
最后一个难题是在构建弹出菜单时使用该样式:
val popupMenu = popupMenu {
style = R.style.Widget_MPM_Menu_Dark_CustomBackground
// ... place your items here
}
我找到了
这个库帮助我得到我想要的角半径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.