我试图取代了我认为是默认的项目背景NavigationView
。 所以,我创建了一个可绘制的更换背景,并使用应用它itemBackground
属性。
background_navigation_view_item.xml
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/navigation_item_background_tint">
<item android:id="@android:id/mask" android:top="4dp" android:bottom="4dp" android:left="8dp" android:right="8dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
<corners android:radius="3dp"/>
</shape>
</item>
<item android:top="4dp" android:bottom="4dp" android:left="8dp" android:right="8dp">
<selector>
<item android:state_checked="true">
<shape android:shape="rectangle">
<solid android:color="@color/navigation_item_background_tint"/>
<corners android:radius="3dp"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
<corners android:radius="3dp"/>
</shape>
</item>
</selector>
</item>
</ripple>
在选择项目时,项目背景绘制看起来很棒(“选择控件”是下图中所选择的项目)。 但被点击项目时(“进度指标”下文)似乎都默认纹波绘制和 background_navigation_view_item.xml
抽拉正在使用(仅一个圆角矩形应该显示,而不是周围的矩形)。
我还测试了可绘制为可检查的视图的背景,它的作品我希望的方式。 所以,如果它不是在我的绘制代码中的错误,为什么不是原来的背景绘制被取代?