W nowej aktualizacji Google wydała nową bibliotekę wsparcia API, która obsługuje ActionBar na poziomie API 7+.android.support.v7 z "ActionBarActivity" brak menu pokazuje
użyłem ActionBarSherlock aż do tej aktualizacji i napisałem kod załadować menu:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_main, menu);
return true;
}
i plik menu:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item_menu_ok" android:icon="@drawable/ic_action_ok"
android:title="@string/ok" android:showAsAction="always"></item>
<item android:id="@+id/item_menu_cancel" android:icon="@drawable/ic_action_cancel"
android:title="@string/cancel" android:showAsAction="always"></item>
</menu>
do skonfigurowania przycisków menu na pasku akcji. Ten kod działał doskonale z ActionBarSherlock. Ale kiedy zmieniłem pasek akcji na nową bibliotekę wsparcia, przyciski nie są wyświetlane na pasku akcji. Nawet jeśli są ustawione jako android:showAsAction="always"
. A kiedy debuguję kod, funkcja menu.getSize()
zwraca 2 i jest to poprawne, ale nie są wyświetlane żadne przyciski.
Dlaczego przyciski nie są wyświetlane w nowej bibliotece pomocy?
Tak, problem polegał na 'xmlns: yourapp =" http://schemas.android.com/apk/res-auto "'. To jest zmiana dla Support v7? Przyczyna w 'ActionBarSherlock' mój stary kod działał idealnie – nrofis
@nrofis: Nie mam pojęcia, dlaczego AppCompat nie może używać' android: showAsAction' w taki sposób, w jaki może działać ActionBarSherlock. – CommonsWare
To drobna i dziwna zmiana, którą udało mi się przeoczyć! –