作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如标题所说,我正在尝试将自定义 image.png 添加到我的底部导航栏,但我找不到确切的方法。
我试过:
矢量 Assets 和图像 Assets 不显示我的 image.png
为我的图像创建一个选择器 xml 并将其添加到我的导航菜单,但它只显示一个灰色方 block 而不是图像
我认为解决方案一定很简单,但在这个论坛上找不到任何相关内容。
提前致谢。
编辑:
底部导航.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/airplane"
android:icon="@drawable/vegetables"
android:title="Vegetable"
/>
</menu>
蔬菜.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/veg" android:state_checked="false"/>
<item android:drawable="@drawable/veg1" android:state_checked="true" />
</selector>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/bottom_navigation"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"/>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:menu="@menu/bottom_navigation"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
android:background="?android:attr/windowBackground"
app:layout_constraintRight_toRightOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
最佳答案
我建议使用矢量图像。
Android 默认在底部导航 View 组件中所有 SVG 对象显示为白色。复选符号对象在圆圈中,但他的颜色被转换为白色,因此它变得不可见。
一种解决方案是重新绘制 SVG 图像。但有时这是不可能的。另一种解决方案是告诉底部导航 View 显示原始图片颜色。您可以在 Activity 代码设置中进行:
在 create() 刚刚设置:
bottomNavigationView.setItemIconTintList(null);
关于android - 如何在 BottomNavigationView 中设置自定义图像图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58607426/
我是一名优秀的程序员,十分优秀!