2016-02-08 1 views
0

Я хочу иметь возможность отображать номер недели в панели действий внутри изображения. Моя первая попытка состояла в том, чтобы отобразить заголовок в значке, но он одновременно показывает название или значок не одновременно. Затем я попытался создать разные изображения, которые можно было использовать для значка, содержащего номер недели. Но я не могу найти способ изменить значок.Показать неделю в меню

У кого-нибудь есть идея, что я могу сделать?

Это код меню

<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

ответ

0

ПоказываетIconнетекст

Для этого в вашем ярлыке тега.

<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"/> 

ИзменениеиконкиDynamicaly

вам нужно иметь ссылку на меню в момент создания меню первого.

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); 
     } 
    } 
} 
+0

Изменение значков Dynamicaly sems для выполнения того, что я хочу, спасибо! – Helgegren

+0

да ладно, приветствую :) – Jayanth

0

может быть, вы могли бы создать глобальную переменную меню (если вы собираетесь использовать позже, если не сделать его локальным) и инициализировать его на onCreateOptionsMenu().

private Menu menu; 

Внутри onCreateOptionsMenu():

this.memu = menu; 

А затем получить деталь вы хотите из меню и изменить его:

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

 Смежные вопросы

  • Нет связанных вопросов^_^