Android ActionBar按钮选择状态
我在ActionBar工作。 我在ActionBar上有3个按钮,有3个活动。当我按下按钮时,它会导航到其他活动,但我想做的是,我按下的按钮会在ActionBar上显示它的选定状态 我的菜单代码如下Android ActionBar按钮选择状态,android,android-actionbar,android-styles,Android,Android Actionbar,Android Styles,我在ActionBar工作。 我在ActionBar上有3个按钮,有3个活动。当我按下按钮时,它会导航到其他活动,但我想做的是,我按下的按钮会在ActionBar上显示它的选定状态 我的菜单代码如下 <?xml version="1.0" encoding="utf-8"?> 而且很时髦 <!-- Application theme. --> <style name="AppTheme" parent="@android:style/Theme.Ho
<?xml version="1.0" encoding="utf-8"?>
而且很时髦
<!-- Application theme. -->
<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyTheme.ActionBar</item>
<item name="android:windowContentOverlay">@null</item>
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<style name="MyTheme.ActionBar" parent="android:Widget.Holo.ActionBar">
<item name="android:background">@android:color/transparent</item>
<item name="android:backgroundStacked">@android:color/transparent</item>
<item name="android:displayOptions">showTitle</item>
</style>
@style/mysteme.ActionBar
@空的
@android:彩色/透明
@android:彩色/透明
剧名
试着这样做:
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
for (int i = 0; i < mainMenu.size(); i++) {
// Set default icons
if (mainMenu.getItem(i).getItemId() == R.id.action1) {
mainMenu.getItem(i).setIcon(R.drawable.icon_default1);
} else if (mainMenu.getItem(i).getItemId() == R.id.action2) {
mainMenu.getItem(i).setIcon(R.drawable.icon_default2);
} else if (.....) {
.....
}
}
if (item.getItemId() == R.id.action1) {
item.setIcon(R.drawable.icon_highlighted1);
} else if (item.getItemId() == R.id.action2) {
item.setIcon(R.drawable.icon_highlighted2);
} else if(.....) {
.....
}
return super.onMenuItemSelected(featureId, item);
}
@覆盖
公共布尔值onMenuItemSelected(int-featureId,MenuItem项){
对于(int i=0;i
我在CreateOptionsMenu(菜单菜单)上解决了这个问题
@覆盖
公共布尔onCreateOptions菜单(菜单){
MenuInflater充气机=getMenuInflater();
充气机。充气(右菜单。活动\主操作,菜单);
对于(int i=0;i
For循环的主菜单是什么?此处For循环用于迭代项。
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
for (int i = 0; i < mainMenu.size(); i++) {
// Set default icons
if (mainMenu.getItem(i).getItemId() == R.id.action1) {
mainMenu.getItem(i).setIcon(R.drawable.icon_default1);
} else if (mainMenu.getItem(i).getItemId() == R.id.action2) {
mainMenu.getItem(i).setIcon(R.drawable.icon_default2);
} else if (.....) {
.....
}
}
if (item.getItemId() == R.id.action1) {
item.setIcon(R.drawable.icon_highlighted1);
} else if (item.getItemId() == R.id.action2) {
item.setIcon(R.drawable.icon_highlighted2);
} else if(.....) {
.....
}
return super.onMenuItemSelected(featureId, item);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_main_actions, menu);
for (int i = 0; i < menu.size(); i++) {
if (menu.getItem(i).getItemId() == R.id.action_scan) {
menu.getItem(i).setIcon(R.drawable.scan_icon_deselected_d1);
} else if (menu.getItem(i).getItemId() == R.id.action_settings) {
menu.getItem(i).setIcon(R.drawable.settings_icon_deselected_d1);
} else if (menu.getItem(i).getItemId() == R.id.action_help) {
menu.getItem(i).setIcon(R.drawable.whitequestionmark_selected);
}
}
return super.onCreateOptionsMenu(menu);
}