将波纹应用于自定义弹出菜单



我创建了一个自定义弹出菜单。它是四舍五入的。但涟漪仍然是方形的

<style name="RoundPopUpMenu" parent="@style/Widget.AppCompat.Light.PopupMenu">
<item name="android:popupBackground">@drawable/popupmenu_bg</item>
</style>

popupmenu_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:top="6dp"
android:bottom="6dp">
<shape
android:shape="rectangle">
<stroke
android:color="@color/rounded_card_bg"
android:width="1px" />
<padding
android:top="6dp"
android:bottom="6dp" />
<corners
android:radius="24dp" />
<solid
android:color="@color/rounded_card_bg" />
</shape>
</item>
</layer-list>

如何自定义瑞波币。我已经尝试将下拉选择器更改为自定义可绘制对象,它不起作用

自定义下拉选择器可绘制代码:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:top="6dp"
android:bottom="6dp">
<shape
android:shape="rectangle">
<stroke
android:color="?attr/listChoiceBackgroundIndicator"
android:width="1px" />
<padding
android:top="6dp"
android:bottom="6dp" />
<corners
android:radius="24dp" />
<solid
android:color="?attr/listChoiceBackgroundIndicator" />
</shape>
</item>
</layer-list>

样式:

<style name="PopupMenuItemStyle" parent="Widget.AppCompat.PopupMenu">
<item name="android:textColor">@color/WHITE</item>
<item name="android:background">@drawable/ripple_no_corners</item>
</style>

ripple_no_corners:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/SELECTED">
<item>
<shape android:shape="rectangle">
<solid
android:color="@color/MAIN"></solid>
</shape>
</item>
</ripple>

爪哇类:

Context wrapper = new ContextThemeWrapper(getContext(), R.style.PopupMenuItemStyle);
PopupMenu popupMenu = new PopupMenu(wrapper, v);

最新更新