突出显示当前所选导航菜单项的背景

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>

看起来像这样:

enter image description here

以上是关于突出显示当前所选导航菜单项的背景的主要内容,如果未能解决你的问题,请参考以下文章

任何可以指向和突出显示导航项的 iOS 工具提示库?

更改活动导航项的颜色并显示相对于导航栏项的页面

CSS“透视”背景 - 疯狂的导航菜单问题

滑出保持突出显示的导航项

重新加载页面后如何突出显示导航栏中的活动菜单项

如何动态更改网页所选菜单项的颜色?