android 使用 Material 组件主题更改汉堡按钮颜色
android hamburger button color change using Material component theme
我的汉堡包按钮没有改变颜色,
我已经将 color on primary 更改为黑色,将 colorprimary 更改为白色,那么为什么汉堡包是白色的?
Appcompat 主题一切正常,我更改为 material components 主题,所以这个菜单按钮自动变为白色
我的 material 主题是,
<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 组件主题和 androidx Toolbar
来更改您可以使用的导航图标:
<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>
我的汉堡包按钮没有改变颜色, 我已经将 color on primary 更改为黑色,将 colorprimary 更改为白色,那么为什么汉堡包是白色的? Appcompat 主题一切正常,我更改为 material components 主题,所以这个菜单按钮自动变为白色
我的 material 主题是,
<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 组件主题和 androidx Toolbar
来更改您可以使用的导航图标:
<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>