Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 操作栏支持库工作不正常_Android_Android Actionbar_Android Actionbar Compat - Fatal编程技术网

Android 操作栏支持库工作不正常

Android 操作栏支持库工作不正常,android,android-actionbar,android-actionbar-compat,Android,Android Actionbar,Android Actionbar Compat,我已经使用操作栏支持库开发了一个示例应用程序。但在操作系统版本为4.0.4的设备中,它并不像预期的那样出现。请查看屏幕截图 以下屏幕截图取自操作系统版本2.3.3的设备 下面的屏幕截图取自操作系统版本为4.0.4的设备。在这个菜单中,菜单选项出现在屏幕的中间,预计会出现在底部 你知道吗 这里是活动 public class DropDownActionBar extends ActionBarActivity implements OnNavigationListener { private

我已经使用操作栏支持库开发了一个示例应用程序。但在操作系统版本为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"/>


您能分享一些代码(XML布局、类)吗?您想将操作栏放在屏幕的底部或顶部吗?标准的方式是顶部。@YoannHercouet,我只想放在底部。你可以看看SplitActionBar:@YoannHercouet,我也一样。我担心的是,它适用于除ICS 4.0.4版本以外的所有设备。