Reputation: 37
I have created a custom pop up menu. It is rounded. But the ripple is still square
<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>
How can i customise the ripple. I already tried changing dropdownselector to a custom drawable it does n't work
the custom drop down selector drawable code :
<?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>
Upvotes: 1
Views: 584
Reputation: 11
Style:
<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>
Java class:
Context wrapper = new ContextThemeWrapper(getContext(), R.style.PopupMenuItemStyle);
PopupMenu popupMenu = new PopupMenu(wrapper, v);
Upvotes: 1