我正在开发姜饼及以上版本的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" />
请告诉我我错在哪里以及我需要做什么!!
答案 0 :(得分:0)
根据Docs
从Android 3.0(API级别11)开始,操作栏出现在 当活动使用系统时,活动窗口的顶部 Holo主题(或其后代主题之一),这是默认主题。 否则您可以通过调用添加操作栏 requestFeature(FEATURE_ACTION_BAR)或通过自定义声明它 windowActionBar属性的主题。
ActionBar已在Android 3.0版中引入,因此您无法在应用中神奇地使用(用于Gingerbread)不存在的UI元素。您需要包含某种支持库。
您可以使用ActionBarSherlock,一个出色的外部库。或谷歌自己的ActionBarCompat(包括你v7 SDK中的支持库)