更改NavigationView侧滑菜单文字颜色
来源:互联网 发布:长春一台网络直播 编辑:程序博客网 时间:2024/05/24 05:29
公司伟大的设计师给了一套设计,如下图,可是默认的文字和图标颜色都是黑的啊,各种网站各种找,就是没有现成的啊,最后还是找到了个方法实现.
设计图:
效果图:
别对比效果。。。这还没有调整成最终效果呢。
首先是NavigationView里的代码
然后看一下Activity里是怎么写的
在
onCreate
里:
int[][] states = new int[][]{ new int[]{android.R.attr.state_activated}, // enabled new int[]{android.R.attr.state_active}, // disabled new int[]{android.R.attr.state_checked}, // unchecked new int[]{android.R.attr.state_focused}, // pressed new int[]{android.R.attr.state_enabled}, // enabled new int[]{-android.R.attr.state_enabled}, // disabled new int[]{-android.R.attr.state_checked}, // unchecked new int[]{android.R.attr.state_pressed} // pressed }; int[] colors = new int[]{ Color.WHITE, Color.YELLOW, Color.YELLOW, Color.YELLOW, Color.WHITE, Color.WHITE, Color.YELLOW, Color.WHITE// ContextCompat.getColor(this,R.color.colorPrimary), }; ColorStateList colorStateList = new ColorStateList(states, colors); mNavigationView.setItemTextColor(colorStateList); mNavigationView.setItemIconTintList(colorStateList);
这里面就是将menu里的item各种状态的颜色通过
colorStateList
进行设置,这通过mNavigationView
的两个方法将文字和对应图标设置颜色
这里边需要注意的是,使用颜色时要直接用Color
里的,或者按我最后的方式加入你color.xml
里的代码 ContextCompat.getColor(this,your color),
不然的话你直接
R.color.white
这种的是不会起作用的,具体为啥我也没研究。
其中黄色是选中色,白色是未选中色。。。(即使不说看图也能看明白)
当然了只是这样写好不够,还要在
onNavigationItemSelected
加入这些东西
@SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(MenuItem item) { int id = item.getItemId(); mDrawer.closeDrawer(GravityCompat.START); if (id == R.id.nav_bs) { //你的具体操作 } Menu menu = mNavigationView.getMenu(); for (int i = 0; i < menu.size(); i++) { if (menu.getItem(i).isChecked()) { menu.getItem(i).setChecked(false); continue; } } item.setChecked(true); return true; }
这里就是选中没选中的状态切换了。。。如果有写好的也你也可以用自己的。。。不强求
如果遇到什么问题,或者有什么地方写错的,欢迎大家来指正
0 0
- 更改NavigationView侧滑菜单文字颜色
- NavigationView 实现侧滑菜单 改变菜单颜色的属性
- NavigationView更改菜单icon和title颜色变化效果
- 侧滑菜单 Drawerlayout navigationView
- NavigationView原生侧滑菜单
- NavigationView+DrawerLayout 侧滑菜单
- 抽屉菜单与侧滑菜单. NavigationView
- 侧滑菜单 drawerlayout 与 NavigationView
- Iwfu-NavigationView实现侧滑菜单
- NavigationView+Drawerlayout+Toolbar实现侧滑菜单
- NavigationView侧滑菜单 使用教程
- DrawerLayout + NavigationView实现侧滑菜单
- 侧滑菜单之NavigationView原理分析
- DrawerLayout+NavigationView实现侧滑菜单
- DrawerLayer+NavigationView 实现侧滑菜单
- 两分钟实现 NavigationView 侧滑菜单
- 更改TextView文字颜色
- iOS更改状态栏文字颜色
- hdu 5512 Pagodas gcd()
- [总结]视频质量评价技术零基础学习方法
- java,linux转义字符区别
- 人脸检测——Faster R-CNN
- LeetCode 206. Reverse Linked List 解题报告
- 更改NavigationView侧滑菜单文字颜色
- laravel框架 即点即改
- poj 3984 迷宫问题(BFS+路径输出)
- 析构函数
- Android自动更新:这里的更新静悄悄~
- 定时器
- Android 自定义listview的下拉刷新
- ECMAScript 6 学习笔记----对象的扩展
- Android studio 使用Zxing二维码扫描,过程及问题汇总