我用下面的菜單XML在我的項目:LeftNavBar不兌現的android:showAsAction =「總是」
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/user_cp"
android:icon="@drawable/gear"
android:showAsAction="always"
android:title="@string/usercp"
/>
<item
android:id="@+id/pm"
android:icon="@drawable/sym_action_email"
android:showAsAction="always"
android:title="@string/private_message"
/>
<item
android:id="@+id/refresh"
android:icon="@drawable/ic_menu_refresh"
android:title="@string/refresh"
/>
<item
android:id="@+id/settings"
android:icon="@drawable/ic_menu_preferences"
android:title="@string/settings"
/>
<item
android:id="@+id/logout"
android:icon="@drawable/ic_menu_logout"
android:title="@string/logout"
/>
</menu>
當我在我的應用程序加載了谷歌電視(仿真器或實際器件) LeftNavBarLibrary(http://code.google.com/p/googletv-android-samples/source/browse/LeftNavBarLibrary)會忽略爲前兩個菜單項設置的android:showAsAction =「always」屬性。這些項目始終放在軟菜單內。展望LeftNavBarLibrary,在OptionsDisplay.java我看到這個參考「始終顯示」菜單選項,並沒有別的:
private void refreshExpandedState() {
// Menu icon.
setOptionExpanded(mView.getChildAt(1), mExpanded);
// "Show always" options.
ViewGroup optionsContainer = getOptionsContainer();
for (int i = 0; i < optionsContainer.getChildCount(); ++i) {
setOptionExpanded(optionsContainer.getChildAt(i), mExpanded);
}
}
是否與LeftNavBarLibrary此功能工作,還是我卡住實現它自己?對於這個應用程序來說,在某些情況下使用ActionBar上的操作項很關鍵,因爲這些按鈕是實際操作,而不是可以用選項卡替換的東西。
編輯:看起來像LeftNavBarLibrary並沒有真正兌現選項菜單,它會顯示選項按鈕,無論它是否需要。