Android底部导航栏项目背景颜色在选择fragment时发生变化

2024-04-14

我希望我的底部导航栏在按下时改变背景颜色(仅选定区域), 就像下面的链接一样:

http://uupload.ir/files/nq3k_tab_bar.jpg http://uupload.ir/files/nq3k_tab_bar.jpg

这是我的选择器 xml:

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:state_checked="true" android:color="@color/beyez" />
    <item android:state_active="true" app:itemBackground="@color/backbeyez"/>
    <item android:color="@color/colorPrimaryDark"  />
</selector>

这是该活动的 xml:

<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottomnav"
    android:layout_width="382dp"
    android:layout_height="52dp"
    android:layout_marginBottom="0dp"
    app:itemBackground="@color/colorPrimary"
    app:itemIconTint="@drawable/nav_items_color"
    app:itemTextColor="@drawable/nav_items_color"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"

    app:menu="@menu/navigation"
    tools:layout_editor_absoluteY="515dp">

</android.support.design.widget.BottomNavigationView>

这是我的 Java 类的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    switchorders();

    BottomNavigationView bottomNavigationView = (BottomNavigationView)findViewById(R.id.bottomnav);
    BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);


    bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener()
    {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {

            switch (item.getItemId())
            {
                case R.id.navigation_orders:
                    switchorders();
                    break;

                case R.id.navigation_credit:
                    switchcredits();
                    break;

                case R.id.navigation_works:
                    switchworks();
                    break;

                case R.id.navigation_profile:
                    switchprofile();
                    break;

            }
            return true;
        }
    });

}

谢谢大家的帮助!


换一下线就可以了app:itemBackground="@color/colorPrimary"在 xml 中BottomNavigationView成为一个可绘制对象,就像您对其他参数所做的那样(例如app:itemTextColor).

Edit

这应该可行,我用 SDK > 19 尝试过

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:color/holo_blue_bright" android:state_checked="true"/>
    <item android:drawable="@android:color/holo_orange_light"/>
</selector>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android底部导航栏项目背景颜色在选择fragment时发生变化 的相关文章

  • Android 中的列表视图到 pdf

    我有一个自定义列表视图 我想从整个列表视图制作pdf 我参考了很多帖子并实现了下面的代码 该代码将我的列表视图转pdf 但问题是它不包含整个列表视图项目 pdf 中仅提供前几项 我的转换函数列表视图转pdf is fab setOnClic
  • 无法禁用 Firestore 中的离线数据

    从我的数据中删除数据后Firestore Database 这需要我的Android app一段时间后才意识到数据已被删除 我认为这是由于自动数据缓存而发生的 我的应用程序与离线使用无关 我想禁用此功能 我已将其添加到我的自定义中Appli
  • Android异步服务调用策略

    这是场景 客户端对服务进行远程调用 返回 void 并提供 回调对象 服务在后台线程上执行一些长时间运行的逻辑 然后使用回调对象来触发以太成功或失败 因为这些操作视觉元素 执行 Activity runOnUiThread 块 该场景运行良
  • 意图过滤器到底是什么?

    我读过很多关于意图过滤器的文章 但我真的无法理解它们到底是做什么的 那么 如果有人可以用一个清晰 的例子向我解释意图过滤器的作用到底是什么 thanks 我认为这是有据可查的here http developer android com g
  • 通过 Intent 从文件管理器中选择文件

    我想做的 我想获取文件字符串形式的路径 我通过 Android 文件管理器选择该路径 我拥有的 Intent intent new Intent Intent ACTION GET CONTENT intent setType startA
  • 获取包含位图支持的画布的 Android 视图上的点的像素颜色值

    我正在尝试找出获取给定点上像素颜色值的最佳方法View http developer android com reference android view View html 我可以通过三种方式写入视图 我设置了背景图像View setBa
  • 如何修复运行 Android 模拟器时出现 GPU Driver Issue 错误

    我的 Android 模拟器几周前运行良好 但现在出现错误 当我运行代码时 GPU 驱动程序问题错误对话框与模拟器一起弹出 当我单击 确定 时 Android 模拟器不会按预期运行应用程序 错误如下 Your GPU driver info
  • Android Studio 停留在构建 gradle 项目信息上

    我正在使用 Android Studio 2 3 每当我尝试创建一个新项目或打开某个项目时 它都会卡在此时 正在构建 Gradle 项目信息 请建议我一些解决方案 它可能正在下载 Gradle zip 文件 e g Users user g
  • 通过覆盖滑动调整图像大小不会调整图像大小

    我在用着Glide下载并显示图像 但是 当我尝试调整图像大小时 它不会这样做 我得到随机大小 或者可能是图像的实际大小 这是我用于通过 Glide 加载的代码 Glide with context load file getUrl asBi
  • 错误:类 kotlin.reflect.jvm.internal.FunctionCaller$FieldSetter

    我已尝试一切方法来消除此错误 但它不断出现 Class kotlin reflect jvm internal FunctionCaller FieldSetter can not access a member of class com
  • 如何更改蜂窝中儿童偏好屏幕的背景颜色

    过去几天我一直在寻找解决方案 但找不到 我需要更改右窗格的背景颜色 我知道如何更改左父首选项的颜色 我在清单文件中创建了一个新主题
  • Android RxJava 2 JUnit 测试 - android.os.Looper 中的 getMainLooper 未模拟 RuntimeException

    我在尝试为正在使用的演示者运行 JUnit 测试时遇到 RuntimeExceptionobserveOn AndroidSchedulers mainThread 由于它们是纯 JUnit 测试而不是 Android 仪器测试 因此它们无
  • 安卓独立包

    我有一个很大的 UI 大约 20 25 个屏幕 我应该如何组织我的代码 我应该按功能分成不同的包吗 我是否应该为所有 UI 类创建一个包 然后创建子包进行组织 或者我不应该创建单独的包并组织到文件夹中 任何帮助将不胜感激 当您创建文件夹时
  • 尝试重新打开已关闭的对象:sqlitequery

    所以本质上我查询数据库两次 我不明白这个错误真正来自哪里 因为我没有在任何地方关闭数据库 返回错误的代码是这样运行的 我查了一下 刚刚看到一个像我这样的案例 BeaconHandler pullAllDB new BeaconHandler
  • 如何以相同的意图从相机获取全尺寸图片和缩略图

    我一直需要找到这个问题的解决方案 我已经从这个社区搜索并测试了许多解决方案 但任何人都适合帮助我 我有两个活动 第一个活动拍摄一张照片并将其发送到另一个活动 该活动有一个 ImageView 来接收该照片 直到这里我遇到问题 以及一个在数据
  • 如何在不下载子项的情况下从 Firebase 获取子项密钥?

    我有一个 Firebase 数据库 其中的节点 items 有很多子项 我想导入子项键的列表 由于每个子项都包含相当多我对此不感兴趣的数据 因此我想仅下载子项密钥 以最大程度地减少传输的数据量 为了便于说明 假设我有以下数据结构 然后我想获
  • 如何在 Android 应用程序退出之前进行一些清理?

    当我的 Android 应用程序终止时 是否有某种 onTerminate 方法可以进行一些清理 我想清除一些 SharedPreferences 我有一个活动 它保持几个数字的运行平均值 并将其存储在 SharedPreference 中
  • 活动构建变体没有测试工件

    我基于 调试 构建变体创建了一个名为 bitrise 的新构建类型 使用 debug 构建变体时 经过检测的 androidTests 构建并运行良好 但是当我切换到新的 bitrise 构建变体时 出现以下错误 Process finis
  • 在自定义对话框中设置文本视图

    我创建了一个自定义对话框 但无法将文本设置到 java 对话框布局中的文本视图中 并且我的程序崩溃了 我的错误是什么 public class Total CBC extends Activity Override protected vo
  • 带有包含布局的导航抽屉布局

    我认为我的问题实际上很简单 但我不知道如何解决 有一个工作导航抽屉 代码如下

随机推荐

  • 如何刷新 Kendo UI 网格

    我正在尝试刷新 Kendo UI 网格 但尚未成功 有人可以告诉我我错过了什么或我做错了什么吗 我有以下代码 cshtml btnRefresh click function e ajax type POST url Url Content
  • iOS消费API设计

    我将为 Web 应用程序开发一个 iOS 应用程序 网络应用程序使用代码点火器 我将创建一个 iOS 应用程序将使用的 API 服务 我正在考虑创建一个 api 版本 这样当 web api 发生变化时 iOS 应用程序就会知道 担忧 当
  • 从输入字段读取属性时 HTML 编码丢失

    我使用 JavaScript 从隐藏字段中提取一个值并将其显示在文本框中 隐藏字段中的值被编码 例如
  • 从谷歌驱动器中永久删除文件

    如何使用谷歌脚本永久删除谷歌驱动器上的文件 我发现只有方法setTrashed 它将文件移至垃圾箱 但如何永久删除文件 Apps 脚本能够访问 Google API 但您需要在使用它们之前显式启用它们 Drive API 可用于删除文件 驱
  • 窗口标题文字大小

    HI 我想知道我应该在 xml 中使用什么样的属性来设置窗口标题文本大小 以下代码将有助于增加窗口标题栏的大小及其文本大小 希望这会有所帮助
  • 所有行值在一列中

    我想在一列中显示所有值 我可以怎样做呢 数据如下 user id degree fi degree en degree sv 3601464 3700 1600 2200 1020 100 0 0 3600520 100 1300 1400
  • Google_Activity 必须是 Google_ActivityObject 的实例

    我不知道这有什么错误 我可能认为谷歌 PHP 客户端库中也有人可以帮助解决这个问题 这是我的代码 this gt client gt refreshToken con 0 gt secret newtoken this gt client
  • 从外部 qss 文件读取 pyqt 样式表

    我已经制作了 pyqt stylsheet 的 qss 文件 我应该如何调用文件内容并提供给self setStylesheet from PyQt4 import QtCore s QtCore QString c myProject d
  • 激活和停用 UISearchController 时 UITableView 在位置之间跳转

    我最近在表视图中添加了 UISearchController 但遇到了动画问题 当搜索栏被点击并变为活动状态时 表格视图会向上跳跃以满足搜索控制器的新 活动 位置 这样做的问题是 搜索控制器动画到这个新位置 但表视图却没有 所以它非常不和谐
  • Android按钮栏-buttonBarButtonStyle在按钮之间留有间隙

    我在使用内置 Android 按钮栏样式时遇到一些问题 为每个按钮指定宽度 0 和权重 1 后 两个按钮之间仍然存在大约 1px 的间隙 参见图片 消除这种差距的最佳方法是什么 为什么它一开始就在那里
  • 使用按位运算符从 32 位整数检索字节

    这是问题和我目前遇到的问题 我只是不明白这是怎么错的 getByte 从字 x 中提取字节 n 字节编号从 0 LSB 到 3 MSB 示例 getByte 0x12345678 1 0x56 合法操作 gt 最大操作数 6 评级 2 in
  • ViewModel 最佳实践

    From 这个问题 https stackoverflow com questions 526641 what to put in your viewmodel 看起来让控制器创建一个是有意义的视图模型这更准确地反映了视图试图显示的模型 但
  • 按值搜索数组中的哈希值

    我有一个函数可以将 Excel 数据提取到哈希数组中 如下所示 sub set exceldata my excel file or Excel ORDERS csv if e excel file or open EXCEL OR exc
  • 如何从 Solr 查询中获取 tf 和 idf 分数?

    以下 Solr 文档 https cwiki apache org confluence display solr Function Queries https cwiki apache org confluence display sol
  • 使用 AzureReader2 调整图像大小会导致 404

    当我尝试使用 AzureReader2 调整图像大小时 收到 404 错误 但是 在使用存储模拟器进行开发时不会发生这种情况 仅在部署到 Azure 时才会发生 当没有调整大小时也不会发生这种情况 So http myapp azurewe
  • 如何使用 SQLiteOpenHelper 与 sd 卡上的数据库?

    根据这里和网络扩展应用程序中的各种答案及其继承的方法 getDatabasePath 将允许设置从标准内部存储器位置到插入的更大尺寸的 SD 卡的数据库存储路径 这对我不起作用 建议的构造仍然使用内存上的数据库 事实上 SQLiteOpen
  • 推送通知中不播放声音

    我使用的是 iOS 7 我的推送通知不播放声音 Strangely I found there is no setting for sound in the Preference gt Notification Center for my
  • 使用 Javascript 函数更改 onclick 操作

    我有一个按钮
  • 创建额外的 D3.js 符号

    D3 已经具有很多功能symbols https github com mbostock d3 wiki SVG Shapes wiki symbol 但我想添加一个自定义的 这样我就可以打电话d3 svg symbol type cust
  • Android底部导航栏项目背景颜色在选择fragment时发生变化

    我希望我的底部导航栏在按下时改变背景颜色 仅选定区域 就像下面的链接一样 http uupload ir files nq3k tab bar jpg http uupload ir files nq3k tab bar jpg 这是我的选