【问题标题】:Change color of navigation bar selected item更改导航栏所选项目的颜色
【发布时间】:2018-03-01 09:24:42
【问题描述】:

我用过

setTheme(R.style.Theme_AppCompat);

将我的应用主题设置为更暗。 现在我遇到了导航栏中所选项目相对较暗的问题,因此用户几乎看不到它。

我可以在我的风格中使用什么来让选定的导航项变成另一种颜色吗? 这是它的图片

这是我的 activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="visible"
    tools:context="at.mrminemeet.asciimoji.MainActivity">

.....


    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="?android:attr/windowBackground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:menu="@menu/navigation"/>

</android.support.constraint.ConstraintLayout>

【问题讨论】:

  • 请发布活动的 xml 代码。你在使用 BottomNavigationView 吗?
  • @AnuraagBaishya 我现在添加了 XML

标签: java android android-studio-3.0 app-themes android-navigation-bar


【解决方案1】:

将以下内容添加到您的 BottomNavigationView:

app:itemIconTint="@drawable/bottom_navigation_selector"       
app:itemTextColor="@drawable/bottom_navigation_selector"

在您的可绘制文件夹中,创建一个文件 bottom_navigation_selector.xml 并将其添加到其中:

<?xml version="1.0" encoding="utf-8"?>
<selector 
   xmlns :android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/colorAccent" android:state_checked="true"/>
    <item android:color="@android:color/darker_gray"  android:state_checked="false"/>
</selector>

最后,在使用此导航栏的每个活动中,将此行添加到 onCreate() 和 onResume()

bottomNavigationView.setSelectedItemId(R.id.item);

【讨论】:

  • 是否可以在 style.xml 中制作它,因为我想让它们随着活动的样式进行更改并且用户可以更改。
【解决方案2】:

您可以将 BottomNavigationView_itemBackground 属性指定给您的 BottomNavigationView,您可以将selector 设置为正常和选定状态的不同颜色的背景

【讨论】:

    猜你喜欢
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 2022-12-05
    相关资源
    最近更新 更多