Action Bar未在Android应用程序中显示GingerBread及以上版本

时间:2014-03-23 07:14:43

标签: android android-actionbar android-2.3-gingerbread

我正在开发姜饼及以上版本的Android应用程序,我想在应用程序中添加操作栏,但在完成所有必要的代码后,它没有显示。我已经为操作栏布局创建了xml文件,在onOptionsItemSelected Method()中添加了菜单,并在onOptionsItemSelected()方法中定义了它的操作。

XML文件

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


   <item
        android:id="@+id/home_button"
        android:icon="@drawable/ic_launcher"
        android:title="@string/action_first"
        android:showAsAction="always"
        />
    <item 
        android:id="@+id/about"
        android:icon="@drawable/ic_launcher"
        android:title="@string/action_second"
        android:showAsAction="always"
        />

</menu>

onCreateOptionsMenu()和onOptionsItemSelected()

@Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.play__bani, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        switch(item.getItemId()){
        case R.id.home_button:
            Toast.makeText(this, "Home button pressed", Toast.LENGTH_LONG).show();
            break;
        case R.id.about:
            Toast.makeText(this, "About button pressed", Toast.LENGTH_LONG).show();
            break;
        }
        return super.onOptionsItemSelected(item);
    }

minSdkVersion和targetedSdkVersion声明

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

请告诉我我错在哪里以及我需要做什么!!

1 个答案:

答案 0 :(得分:0)

根据Docs

  

从Android 3.0(API级别11)开始,操作栏出现在   当活动使用系统时,活动窗口的顶部   Holo主题(或其后代主题之一),这是默认主题。   否则您可以通过调用添加操作栏   requestFeature(FEATURE_ACTION_BAR)或通过自定义声明它   windowActionBar属性的主题。

ActionBar已在Android 3.0版中引入,因此您无法在应用中神奇地使用(用于Gingerbread)不存在的UI元素。您需要包含某种支持库。

您可以使用ActionBarSherlock,一个出色的外部库。或谷歌自己的ActionBarCompat(包括你v7 SDK中的支持库)