android - 使用 Material 组件主题的 android 汉堡按钮颜色更改
问题描述
我的汉堡按钮没有改变它的颜色,我把原色变成了黑色,把原色变成了白色,那为什么汉堡是白色的呢?Appcompat 主题中一切都很好,我更改为材质组件主题,所以这个菜单按钮自动变成白色
我的材料主题是,
<style name="AppMaterialCOmponentsTheme" parent="Theme.MaterialComponents.NoActionBar">
<!--background color-->
<item name="colorPrimary">@color/white</item>
<item name="android:colorBackground">@color/white</item>
<item name="colorSurface">@color/primaryDarkColor</item>
<item name="colorOnSurface">@color/black</item>
<item name="colorOnPrimary">@color/secondaryDarkColor</item>
<item name="colorOnBackground">@color/colorTranslucent</item>
<item name="itemRippleColor">@color/colorAccent</item>
<item name="colorControlHighlight">@color/colorAccent</item>
</style>
我的布局是
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout 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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.recipeapp.marathi.activities.HomeActivity">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbarHome"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:title="@string/app_name"
app:titleTextColor="@color/black" />
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/content_main" />
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="?attr/actionBarSize"
ads:adSize="BANNER"
ads:adUnitId="@string/admob_banner_adunit_id">
</com.google.android.gms.ads.AdView>
<com.google.android.material.bottomappbar.BottomAppBar
android:background="@color/white"
android:id="@+id/bottomappbar"
android:layout_gravity="bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:fabCradleMargin="10dp"
app:fabCradleRoundedCornerRadius="10dp"
app:fabCradleVerticalOffset="10dp">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
app:itemIconTint="@color/bottom_nav_item"
app:itemTextColor="@color/bottom_nav_item"
app:menu="@menu/nav_menu" />
</com.google.android.material.bottomappbar.BottomAppBar>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/floatingActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/todo"
android:src="@android:drawable/ic_input_add"
app:layout_anchor="@id/bottomappbar"
app:layout_anchorGravity="bottom|center" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<com.google.android.material.navigation.NavigationView
android:background="@drawable/round_nav"
android:foreground="?attr/selectableItemBackground"
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:visibility="visible"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/menu_drawer_navigation" />
</androidx.drawerlayout.widget.DrawerLayout>
我是MDC的新手,请帮忙
解决方案
使用 Material Components Theme 和 androidxToolbar
来更改导航图标,您可以使用:
<androidx.appcompat.widget.Toolbar
android:theme="@style/ThemeOverlay.App.Toolbar"
...>
和:
<style name="ThemeOverlay.App.Toolbar" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary">
<!-- color used by navigation icon and overflow icon -->
<item name="colorOnPrimary">@color/myColor</item>
</style>
推荐阅读
- html - 如何对齐一行中的两列CSS
- typescript - 如何将类型参数传递给 Typescript 中的索引类型?
- plasticscm - 塑料单片机分支视觉错误
- apache-pulsar - Apache Pulsar Java 客户端占用过多内存 (OOM)
- c# - c#中的日心
- php - PHP 如何找到距离下一个 1 月 1 日的天数(不指定年份)?
- python - 在python中使用递归“for”函数探索链接点
- spring - 配置文件特定的 spring.config.additional-location?
- sqlite - 如何创建 SQLite3 报告
- python - 分而治之的连续值的最小总和