突出显示当前所选导航菜单项的背景
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了突出显示当前所选导航菜单项的背景相关的知识,希望对你有一定的参考价值。
这是Adobe Illustrator中我的应用程序设计的剪辑/屏幕截图:https://imgur.com/a/7tXii根据您当前所在的菜单,相应的部分将突出显示,如下所示(在这种情况下为浅蓝色)。
我知道您可以通过在/styles.xml下创建的自定义ThemeOverlay更改ITEM / ICON颜色,并添加app:theme =“@ style / preceding_ mentioned_theme_overlay”,如下所示:
<style name="ThemeOverlay.AppCompat.navTheme">
<!-- Color of text and icon when SELECTED -->
<item name="colorPrimary">@color/color_of_your_choice</item>
<!-- Background color when SELECTED -->
<item name="colorControlHighlight">@color/color_of_your_choice</item>
</style>
但是,所有这一切都是在选择时更改图标颜色,而不是突出显示图标下方的部分。主要问题可能是导航背景是整个屏幕上的水平条,但我只想根据所选项目更改其中33%的颜色。这可能需要一个脏的解决方法(?)。
答案
没有那么多脏的解决方法需要。只需在初始化BottomNavigationView
实例后添加:
navigation.setItemBackgroundResource(R.drawable.menubackground);
把它放在/drawable/menubackground.xml
里面:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorAccent" android:state_pressed="true" />
<item android:drawable="@color/colorAccent" android:state_checked="true" />
<item android:drawable="@color/colorPrimary" />
</selector>
看起来像这样:
以上是关于突出显示当前所选导航菜单项的背景的主要内容,如果未能解决你的问题,请参考以下文章