在菜单中显示周

时间:2016-02-08 14:36:13

标签: java android xml menuitem

我希望能够在图片内的操作栏中显示星期数。我的第一次尝试是在图标中显示标题,但它同时显示标题或图标。接下来,我尝试创建可用于包含星期数的图标的不同图片。但是我找不到改变图标的​​方法。

有人知道我能做什么吗?

这是菜单的代码

<item android:id="@+id/action_week"
  android:title="p"
  android:showAsAction="always"
  android:icon="@drawable/vecka0"/>
<item
  android:id="@+id/menu_overflow"
  android:icon="@drawable/menu_large"
  android:showAsAction="always"
  android:title="@string/Vmeny">
  <menu>
     <item android:id="@+id/action_confirm"
        android:title="@string/confirm_text"
        android:showAsAction="ifRoom" />
     <item android:id="@+id/action_switch_company"
        android:title="@string/Vswitch_company"
        android:showAsAction="never"/>
     <item android:id="@+id/action_logout"
        android:title="@string/logout_text"
        android:showAsAction="ifRoom"/>

  </menu>
</item>

这是我想要的菜单

My Menu

2 个答案:

答案 0 :(得分:0)

也许你可以创建一个全局的Menu变量(如果你以后再使用它,如果没有把它变成本地的)并在onCreateOptionsMenu()上初始化它。

private Menu menu;

在onCreateOptionsMenu()中:

this.memu = menu;

然后获取您想要菜单的项目并进行更改:

menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_launcher));

答案 1 :(得分:0)

显示 图标 文字

在商品标签中提及。

<item android:id="@+id/action_week"
 android:title="p"
 android:showAsAction="always|withText" //this would show icon and text both at atime
 android:icon="@drawable/vecka0"/>

更改 图标 动态

首先需要在创建菜单时参考菜单。

private Menu mMenu;
@Override
public boolean onCreateOptionsMenu(Menu menu){
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main_activity, menu);
// Save the menu reference
mMenu = menu;
return super.onCreateOptionsMenu(menu);
}

// For example - Call when you need to change icon
 private void setActionIcon(boolean showWithBadge){
   MenuItem item = mMenu.findItem(R.id.ITEM_ID);
    if(mMenu != null){
        if(showWithBadge){
           item.setIcon(R.drawable.IC_WITH_BADGE);           
          }
           else {
            item.setIcon(R.drawable.IC_WITHOUT_BADGE);
         }
     }
 }