出于某种原因,即使所有内容对我来说都是正确的,图标也不会显示在操作栏上。如果我按下手机上的菜单按钮,我会将菜单项作为文本,这很好。但是,我有一个搜索图标,我想在操作栏上显示,但由于某种原因它不会出现。这是一段似乎相关的代码片段。
OnCreate
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getActionBar();
actionBar.show();
actionBar.setSubtitle("subtitle");
actionBar.setTitle("title");
}
选项菜单
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@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.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
菜单XML
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.ammar.customlistview1.app.MainActivity" >
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="2"
app:showAsAction="ifRoom" />
<item android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
android:title="Action Search"
android:orderInCategory="1"
app:showAsAction="always" />
</menu>
清单
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="14" />
如果您需要任何进一步的细节,请提前告知我们。
答案 0 :(得分:1)
您实际上使用当前ActionBar
而没有任何Support Library
向其添加项目,这样您就可以在API级别11或更高级别获取ActionBar并创建菜单(first snippet code from the Docs)
因此,showAsAction
属性不需要像使用Support Library
(third snippet code from the Docs)一样使用自定义前缀。只需按如下方式调用Android默认库:
android:showAsAction="always"
此外,您必须删除xmlns:context
,xmlns:app
和xmlns:tools
属性,它们在您的菜单文件中无用。
答案 1 :(得分:0)
HI只使用波纹管菜单xml文件并尝试
告诉我你是否有任何错误
<menu xmlns:android="http://schemas.android.com/apk/res/android"
>
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="2"
android:showAsAction="ifRoom" />
<item android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
android:title="Action Search"
android:orderInCategory="1"
android:showAsAction="always" />
</menu>