【问题标题】:How to create a ripple with rounded corners for drawer menu items?如何为抽屉菜单项创建带圆角的波纹?
【发布时间】:2019-04-17 23:07:46
【问题描述】:

我正在尝试为抽屉项目创建一个带有圆角的波纹。但是,我无法弄清楚如何实现这一目标。我尝试创建一个自定义波纹并将其分配给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>

圆角

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

但是,这并没有按预期工作。似乎有两个波纹:一个矩形和一个圆角波纹,如下所示。

Output

你知道如何解决这个问题吗?谢谢

【问题讨论】:

    标签: android drawerlayout navigationview rippledrawable


    【解决方案1】:

    这就是我所做的。它为我消除了矩形波纹。试一试,如果有帮助,请告诉我。

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

    styles.xml:

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

    【讨论】:

      猜你喜欢
      • 2012-08-15
      • 1970-01-01
      • 2021-06-23
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 2015-02-13
      • 2014-07-20
      • 1970-01-01
      相关资源
      最近更新 更多