2013-05-22 2 views
2

В моем новом приложении, которое я создал, я получил автогенерируемый код для создания меню:меню Android панели действий в таблетке

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

И я добавил пункт на menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/action_settings" 
     android:orderInCategory="100" 
     android:showAsAction="never" 
     android:title="@string/action_settings"/> 
    <item android:id="@+id/item1"></item> 

</menu> 

Но нет кнопки меню, я что-то упускаю?

+0

Try 'андроида: ш owAsAction = "always" вместо "android: showAsAction =" never "'. – Oam

ответ

1

EDIT:

В вашем определении меню вы поставите:

android:showAsAction="never" 

Изменить это:

android:showAsAction="always" 

Проверьте этот пример, включая значок меню:

<item 
    android:id="@+id/menu_calendar" 
    android:title="@string/calendar" 
    android:icon="@drawable/ic_menu_calendar_holo_light"   
    android:showAsAction="always|withText" /> 

always означает, что кнопка всегда будет отображаться. Вы можете заменить его на ifRoom, если это меню, такое как «Настройки», которое должно появляться в меню в качестве опции, но не отображаться все время.

withtext означает, что название меню будет отображаться рядом с значком, если для этого достаточно места.

Подробная информация обо всех этих вариантах доступна here.

Для остальных, вам необходимо создать и показать ActionBar в вашей onCreate() функции:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    //you might need this line if you are not using the Holo theme 
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR); 

    setContentView(R.layout.main_activity); 

    ActionBar actionBar = getActionBar(); 
    actionBar.show(); 

(...) 
+0

Вы разобрались с проблемой? –

0

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

import com.actionbarsherlock.view.Menu; 
import com.actionbarsherlock.view.MenuInflater; 

... 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getSupportMenuInflater(); 
     inflater.inflate(R.menu.menu, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 

Вы должны использовать Menu и MenuInflater из ActionBarSherlock ..

Проверить эту ссылку на implemention of ActionBarSherlock

+0

Нет необходимости устанавливать Шерлок, только если он нацелен на предыдущие версии Android. –

0

Попробуйте

<item 
    android:id="@+id/action_settings" 
    android:showAsAction="always" 
    android:title="@string/action_settings"/> 
<item android:id="@+id/item1"></item> 

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