android 菜单视图,在Android中选中时,为编程添加的导航视图菜单项设置背景颜色...

我正在开发一款Android应用.在我的应用程序中,我将以编程方式将菜单项添加到导航视图.但是我在检查时设计这些项目时遇到了问题.我的问题是现在只有在检查项目时才更改文本颜色.但是我想要的项目如下所示突出显示背景.

e8db5c706c745267f095b4a3ef92a528.png

我正在以编程方式添加菜单项

menu.add(CATEGORY_MENU_GROUP_ID, itemId, i + 1, title).setIcon(dIcon).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {

@Override

public boolean onMenuItemClick(MenuItem item) {

item.setChecked(true);

return true;

}

});

所以我创建了这样的背景项(nav_item_bg.xml)

android:shape="rectangle" >

android:width="1dp"

android:color="@color/lightGray" >

我的导航视图xml

app:itemIconTint="@drawable/drawer_item"

app:itemTextColor="@drawable/drawer_item"

android:id="@+id/left_nv_view"

app:headerLayout="@layout/header_view"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_gravity="start" />

这是drawable中的drawer_item.xml

当我运行时,导航视图中所有菜单项的背景都会更改,即使它们未被选中.我想要的只是在选中时更改.请问我该如何更正我的代码?我怎么能实现它呢?

我尝试将nav_item_bg.xml更改为此

但不只是工作.

解决方法:

添加新菜单后,只需为其设置checkAble值:

menu.add(CATEGORY_MENU_GROUP_ID, itemId, i + 1, title).setIcon(dIcon).setCheckable(true);

标签:android,navigation-drawer,menuitem,android-navigationview

来源: https://codeday.me/bug/20190702/1353536.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值