【发布时间】:2016-05-25 22:25:33
【问题描述】:
我想更改汉堡包图标和溢出图标(仅限颜色),因为我已经制作了与我想要的颜色相同的 mipmap 资源。 (因为我的 ActionBars 背景是白色的,我希望我的溢出菜单和汉堡包颜色为蓝色)。我将样式赋予 ActionBar,一切都按预期工作,只有汉堡包和溢出图标不会从默认的 android 更改。那么如何更改这两个图标呢?
这是我赋予 ActionBar 的样式。
<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>
这是我的活动代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolbar = (Toolbar) findViewById(R.id.toolbar);
txt_title = (TextView)mToolbar.findViewById(R.id.txt_title);
Utilities.getInstance().setBoldFont(txt_title,this);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
drawerFragment = (FragmentDrawer)
getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar);
drawerFragment.setDrawerListener(this);
// display the first navigation drawer view on app launch
if (AppConstants.isItemVisible.equals("5"))
displayView(5);
else displayView(1);
}
【问题讨论】:
标签: android menu android-actionbar styles