如何为抽屉菜单项创建带有圆角的波纹?

时间:2019-04-17 23:07:47

标签: android drawerlayout navigationview rippledrawable

我正在尝试为Drawer项目创建带有圆角的波纹。但是,我不知道如何实现这一目标。我试图创建一个自定义涟漪图,并将其分配给NavigationViewapp:itemBackground属性,如下所示:

<com.google.android.material.navigation.NavigationView
    android:id="@+id/navigation_view"
    style="@style/Widget.MaterialComponents.NavigationView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:menu="@menu/menu_navigation"
    app:itemBackground="@drawable/custom_ripple"/>

custom_ripple

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:attr/colorControlHighlight">
   <item android:id="@android:id/mask">
       <shape android:shape="rectangle">
          <solid android:color="#000000" />
          <corners android:radius="15dp" />
       </shape>
   </item>
   <item android:drawable="@drawable/rounded_corner" />
</ripple>

rounded_corner

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorAccentTransparent" />
    <corners android:radius="6dp" />
</shape>

但是,这无法正常工作。似乎有两个涟漪:矩形和带有圆角的涟漪,如下所示。

Output

您知道如何解决此问题吗?谢谢

1 个答案:

答案 0 :(得分:0)

这就是我所做的。它为我消除了矩形波纹。试试看,让我知道是否有帮助。

<style name="NavigationItemNoRipple">
    <item name="android:colorControlHighlight">@android:color/transparent</item>
</style>

styles.xml:

import dask.dataframe as ddf
import dask
file_path = "file_name.csv"
df   = ddf.read_csv(file_path)
futs = df.to_csv(r"*.csv", compute=False)
_, l = dask.compute(futs, df.size)