我使用操作栏支持库开发了一个示例应用程序。但是在OS版本4.0.4的设备中,它并没有像预期的那样出现。请查看截图。
以下屏幕截图取自操作系统版本2.3.3的设备
以下屏幕截图取自操作系统版本4.0.4的设备。在这个菜单中,菜单选项位于屏幕中间,预计将位于底部。
对此有何想法?
这是活动。
public class DropDownActionBar extends ActionBarActivity implements OnNavigationListener {
private ActionBar mActionBar;
private TextView mTextView;
ShareActionProvider mShareActionProvider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dropdown_actionbar_layout);
mTextView = (TextView)findViewById(R.id.dropITEM_tv);
mActionBar = getSupportActionBar();
mActionBar.setDisplayShowTitleEnabled(false);
mActionBar.setDisplayShowHomeEnabled(true);
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(getApplicationContext(),
R.array.action_list, android.R.layout.simple_dropdown_item_1line);
mActionBar.setListNavigationCallbacks(mSpinnerAdapter, this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.frag_action_bar_items, menu);
MenuItem mShareItem = menu.findItem(R.id.action_share_PIC);
mShareActionProvider = (ShareActionProvider)MenuItemCompat.getActionProvider(mShareItem);
mShareActionProvider.setShareIntent(getShareIntent());
return super.onCreateOptionsMenu(menu);
}
private Intent getShareIntent() {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("image/*");
return intent;
}
public boolean onNavigationItemSelected(int pos, long itemID) {
String[] res = getResources().getStringArray(R.array.action_list);
Log.v("SELECTED_ITEM ", "ITEM " + pos);
mTextView.setText("Item " + res[pos]);
return true;
}
}
这里是frag_action_bar_items菜单布局。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:actionbardemo="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_itemsearch"
actionbardemo:actionViewClass="android.support.v7.widget.SearchView"
actionbardemo:showAsAction="always|collapseActionView"
android:icon="@android:drawable/ic_search_category_default"
android:title="Search"/>
<item
android:id="@+id/action_share_PIC"
actionbardemo:actionProviderClass="android.support.v7.widget.ShareActionProvider"
actionbardemo:showAsAction="ifRoom"
android:title="Share Pic"/>
<item
android:id="@+id/action_staron"
actionbardemo:showAsAction="ifRoom"
android:icon="@android:drawable/star_big_on"
android:orderInCategory="100"
android:title="@string/action_star_on"/>
<item
android:id="@+id/action_staroff"
actionbardemo:showAsAction="ifRoom"
android:icon="@android:drawable/star_big_off"
android:orderInCategory="100"
android:title="@string/action_star_off"/>