簡體   English   中英

更改導航抽屜中的漢堡包圖標顏色

[英]Changing the hamburger icon color in navigation drawer

導航抽屜的漢堡圖標顏色沒有改變。 默認為黑色。 我想把它改成@color/gold。 它適用於低於 21 的 API。請幫助我。

這是我正在使用的樣式。

<style name="AppTheme.NoActionBar" >
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    <item name="windowNoTitle">true</item>
    <item name="android:textColorPrimary">@color/gold</item>
    <item name="actionMenuTextColor">@color/gold</item>
    <item name="android:actionMenuTextColor">@color/gold</item>
    <item name="colorControlNormal">@color/gold</item>
</style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@color/gold</item>

</style>

感謝鋼鐵俠的回答

改變了整個主題

  <style name="MyMaterialTheme" parent="MyMaterialTheme.Base">

</style>

<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar" >
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorSecondary">@color/booking</item>
    <item name="windowActionBar">false</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    <item name="windowNoTitle">true</item>
    <item name="android:textColorPrimary">@color/booking</item>
    <item name="actionMenuTextColor">@color/booking</item>
    <item name="android:actionMenuTextColor">@color/booking</item>
    <item name="colorControlNormal">@color/booking</item>
</style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@color/booking</item>

</style>

在你的styles.xml 中創建樣式並輸入以下代碼

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="color">@android:color/white</item>
</style>

然后像這樣添加主題:

< item name="drawerArrowStyle">@style/DrawerArrowStyle</item>

你可以在下面給你的圖標着色

Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_menu, null);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, Color.GOLD);
actionBar.setHomeAsUpIndicator(drawable);

非常簡單,以編程方式,您只需要添加以下代碼行...

actionBarDrawerToggle.getDrawerArrowDrawable()
                     .setColor(getResources().getColor(R.color.white));

完畢!

將此代碼寫入您的價值觀/風格

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:textColorPrimary">@color/white</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>

</style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@android:color/white</item>
</style>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM