MenuItem在我的设备上没有显示涟漪效应

时间:2018-12-16 04:15:15

标签: android navigationview

我正在使用 NavigationView 做一个应用,当我触摸MenuItem时遇到问题。在Android模拟器中,它会显示涟漪效应,但是当我在设备(三星Galaxy Note 8)上对其进行测试时,它不会出现:

Android Emulator

Samsung Galaxy Note 8

NavigationView:

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@color/colorBackground"
    app:headerLayout="@layout/nav_header_main"
    app:itemIconTint="@drawable/nav_selected_item"
    app:itemTextColor="@drawable/nav_selected_item"
    app:menu="@menu/activity_main_drawer" />

nav_selected_item.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@color/colorAccent" />
    <item android:color="@android:color/white" />
</selector>

1 个答案:

答案 0 :(得分:0)

可能是由于NavigationView的配置不正确;我不确定是什么阻止了手机上的涟漪效应。您可以尝试一下并回复我吗?
首先,将以下属性添加到XML文件内的NavigationView中的itemBackground:

app:itemBackground="@drawable/ripple_navigation_selector"

此外,然后在drawable-v21文件夹中,添加ripple_navigation_selector.xml:

<?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/submit_btn_ripple_color" > <item android:drawable="@color/accentColor" /> <item android:id="@android:id/mask" android:drawable="@android:color/white" /> </ripple>
由于波纹效应是在具有API 21或更高版本的设备上产生的。可能有用,请告诉我它是否真的对您有帮助。