我想在操作栏中添加操作,但它会在操作栏中显示为下拉列表。 如何在操作栏中添加按钮? 我的代码是:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="Add"
showAsAction="ifRoom"/>
</menu>
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
答案 0 :(得分:4)
如果您使用android.app.Activity
,只需将showAsAction="always"
更改为"android:showAsAction="always"
。
如果您使用android.support.v7.app.Activity
,请按以下方式更改代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="Add"
app:showAsAction="ifRoom"/>
</menu>
答案 1 :(得分:-1)
您只需将另外一项添加到菜单中,并将该菜单扩展到您的活动中.... 如下所示,您将添加按钮并将该按钮访问到您的活动中......
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/refresh"
android:icon="@android:drawable/stat_notify_sync"
showAsAction="ifRoom"/>
<item
android:id="@+id/action_bar_button_cancel"
android:focusableInTouchMode="true"
android:icon="@android:drawable/ic_menu_close_clear_cancel"
showAsAction="ifRoom"/>
</menu>
如下所示给菜单充气.....
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
操作栏项目中的访问方法是....
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.refresh:
//logic
return true;
case R.id.action_bar_button_cancel:
//logic
return true;
default:
return super.onOptionsItemSelected(item);
}
}
如果您有任何疑问,请