我将原色设置为某种橙色,但我不明白为什么默认情况下我的底部导航栏将白色而不是原色作为所选项目的颜色,如何解决?
底部导航栏的xml代码
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginStart="0dp"
android:layout_marginLeft="0dp"
android:layout_marginEnd="0dp"
android:layout_marginRight="0dp"
android:layout_marginBottom="0dp"
android:background="@color/colorAccent"
app:menu="@menu/bottom_navigation"/>
颜色(主要是某种橙色)
<color name="colorPrimary">#fb8c00</color>
<color name="colorPrimaryDark">#c25e00</color>
<color name="colorPrimaryLight">#ffbd45</color>
<color name="textOnPrimary">#000000</color>
<color name="colorAccent">#D81B60</color>
答案 0 :(得分:0)
添加以下三个标记以控制Tabs
的颜色以及BottomNavigationView
的标签中显示的文本
<com.google.android.material.bottomnavigation.BottomNavigationView
style="@style/Widget.MaterialComponents.BottomNavigationView.Colored"
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_gravity="bottom"
android:background="@android:color/white"
app:itemIconTint="@android:color/holo_orange_dark"
app:itemTextColor="@android:color/holo_orange_dark"
app:menu="@menu/menu_main" />
看起来像这样
不幸的是,我可以创建Drawable来处理不同的状态,但是itemIconTint仅将颜色作为输入,而不将Drawable作为输入。仍然非常接近您想要实现的目标。
答案 1 :(得分:0)
步骤1在可绘制文件夹下创建可绘制文件,然后添加以下代码。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#82C341" android:state_checked="true" />
<item android:color="#a9a9a9" android:state_checked="false"/>
</selector>
第2步,然后像这样使用此可绘制文件。 添加这两行。 app:itemIconTint =“ @ drawable / your_drawable_file_name” app:itemTextColor =“ @ drawable / your_drawable_file_name”
完整代码
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@color/tab_bg"
android:layout_gravity="start"
android:padding="0dp"
android:focusable="false"
app:itemIconTint="@drawable/your_drawable_file_name"
app:itemTextColor="@drawable/bottom_navigation_color_selector"
app:menu="@menu/menu_bottom_navigation"
app:labelVisibilityMode="labeled" />