如何在android中更改汉堡图标和溢出图标?
我想更改汉堡包图标和溢出图标(仅颜色),因为我已使用我想要的颜色制作了相同的mipmap资源。(由于我的ActionBars背景为白色,我希望我的溢出菜单和汉堡颜色为蓝色)。我给了ActionBar这种风格,一切都如预期的那样,只有汉堡包和溢出图标没有改变android的默认设置。那么我怎样才能改变这两个图标呢 这是我给我的ActionBar的风格如何在android中更改汉堡图标和溢出图标?,android,menu,android-actionbar,styles,Android,Menu,Android Actionbar,Styles,我想更改汉堡包图标和溢出图标(仅颜色),因为我已使用我想要的颜色制作了相同的mipmap资源。(由于我的ActionBars背景为白色,我希望我的溢出菜单和汉堡颜色为蓝色)。我给了ActionBar这种风格,一切都如预期的那样,只有汉堡包和溢出图标没有改变android的默认设置。那么我怎样才能改变这两个图标呢 这是我给我的ActionBar的风格 <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat">
<style name="CustomActionBarTheme" parent="@style/Theme.AppCompat">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="android:dropDownListViewStyle">@style/PopupMenuListView</item>
<item name="dropDownListViewStyle">@style/PopupMenuListView</item>
<item name="actionBarDivider">@null</item>
<item name="android:homeAsUpIndicator">@drawable/img_menu</item>
<item name="homeAsUpIndicator">@drawable/img_menu</item>
<!-- OverFlow Menu Text Color -->
<item name="android:textColor">@color/white</item>
</style>
<!-- Set Custom Icon for Overflow Button in ActionBar -->
<style name="OverflowButton" parent="@style/Widget.AppCompat.ActionButton.Overflow">
<item name="android:src">@drawable/img_overflow</item>
</style>
<!-- ActionBar styles for Text Style, Background-->
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@color/white</item>
<item name="colorControlNormal">@color/lightBlue</item>
<item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
<item name="titleTextStyle">@style/MyActionBarTitleText</item>
</style>
<!-- ActionBar styles for Text Style -->
<style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/lightBlue</item>
<item name="android:actionMenuTextColor">@color/dark_gray</item>
</style>
<!-- OverFlow menu Styles -->
<style name="PopupMenuListView" parent="@style/Widget.AppCompat.Light.ListView.DropDown">
<item name="android:divider">@color/white</item>
<item name="android:dividerHeight">1dp</item>
<item name="android:background">@color/transparent_color</item>
</style>
真的
假的
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
@样式/抽屉箭头样式
真的
@android:彩色/黑色
请参见上面代码中的这一行
<item name="color">@android:color/black</item>
@android:color/black
将颜色更改为您想要的任何颜色这应该会照顾到您的汉堡图标-
Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_menu, null);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, Color.BLUE);
actionBar.setHomeAsUpIndicator(drawable);
现在是您的溢出菜单-
<resources>
<style name="my_app_action_bar_theme" parent="android:Theme.Holo.Light">
<item name="android:popupMenuStyle">@style/MyApp.PopupMenu</item>
</style>
<!-- The beef: background color for Action Bar overflow menu -->
<style name="MyApp.PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
<item name="android:popupBackground">@drawable/menu_dropdown_panel</item>
<item name="android:background">@drawable/menu_dropdown_panel</item>
</style>
</resources>
我试过那样做,但没用。。这是关于堆栈溢出的一个问题的答案。这有什么问题?如果我可以将其更改为我的可绘制图像,那将是最好的,我的意思是我想将我自己的汉堡图标放在那里。我在样式中看不到抽屉箭头样式标记。xmlits未显示,图标仍然是默认的白色汉堡
Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_menu, null);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, Color.BLUE);
actionBar.setHomeAsUpIndicator(drawable);
<resources>
<style name="my_app_action_bar_theme" parent="android:Theme.Holo.Light">
<item name="android:popupMenuStyle">@style/MyApp.PopupMenu</item>
</style>
<!-- The beef: background color for Action Bar overflow menu -->
<style name="MyApp.PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
<item name="android:popupBackground">@drawable/menu_dropdown_panel</item>
<item name="android:background">@drawable/menu_dropdown_panel</item>
</style>
</resources>
<corners android:radius="3.0dip" />
<stroke
android:width="1.0dip"
android:color="@color/transparent" />
<solid android:color="@color/blue" />
<application
android:theme="@style/my_app_action_bar_theme"
... >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/hotspot_blue"
app:theme="@style/my_action_bar_theme"
app:popupTheme="@style/MyApp.PopupMenu"
/>
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle(getString(R.string.app_name));
setSupportActionBar(toolbar);