«Решение»
Я начал экспериментировать с волновым эффектом, когда нашел этот вопрос, и через некоторое время я закончил с этим кодом.
Примечание: Это не настоящий волновой эффект, просто фальшивый.Дайте мне знать, если вы сделаете его улучшенную версию.
@layout/your_layout.xml
<android.support.design.widget.NavigationView
...
android:theme="@style/Widget_NavigationItem_NoRipple"
app:itemBackground="@drawable/drawer_item_background"/>
@values/styles.xml
<style name="Widget_NavigationItem_NoRipple">
<item name="android:colorControlHighlight">@android:color/transparent</item>
</style>
@drawable/drawer_item_background.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/drawer_item_shape" android:state_checked="true"/>
<item android:drawable="@drawable/drawer_item_ripple" android:state_pressed="true"/>
<item android:drawable="@android:color/transparent" android:state_pressed="false"/>
</selector>
@ drawable / pocket_item_shape
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<corners android:radius="8dp"/>
<solid android:color="@color/selectedItemBackgroundColor"/>
</shape>
</item>
</layer-list>
@ drawable / box_item_ripple
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@android:color/transparent">
<item>
<shape android:shape="rectangle">
<corners android:radius="8dp"/>
<solid android:color="?attr/colorControlHighlight"/>
</shape>
</item>
</ripple>