【如何在ActionBar(Android)中添加按钮()】花门楼前见秋草,岂能贫贱相看老。这篇文章主要讲述如何在ActionBar(Android)中添加按钮?相关的知识,希望能为你提供帮助。
我想将一个Button添加到Action栏的右侧,如此屏幕截图所示:
我在onCreate方法中获取actionBar:
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
和后退按钮(onOptionsItemSelected方法)如下:
public boolean onOptionsItemSelected(MenuItem item){
Intent myIntent = new Intent(getApplicationContext(),MainActivity.class);
startActivityForResult(myIntent, 0);
return true;
}
我该如何添加按钮?
答案你必须在
res/menu,
override onCreateOptionsMenu
中创建一个条目并给它充气@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.yourentry, menu);
return true;
}
菜单的条目可以是:
<
menu xmlns:android="http://schemas.android.com/apk/res/android" >
<
item
android:id="@+id/action_cart"
android:icon="@drawable/cart"
android:orderInCategory="100"
android:showAsAction="always"/>
<
/menu>
另一答案一个活动在其
onCreateOptionsMenu()
方法中填充ActionBar。而不是使用
setcustomview()
,只需像这样覆盖onCreateOptionsMenu
:@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mainmenu, menu);
return true;
}
如果选择ActionBar中的操作,则调用
onOptionsItemSelected()
方法。它接收所选操作作为参数。根据这些信息,您的代码可以决定做什么,例如:@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuitem1:
Toast.makeText(this, "Menu Item 1 selected", Toast.LENGTH_SHORT).show();
break;
case R.id.menuitem2:
Toast.makeText(this, "Menu item 2 selected", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
另一答案感谢@Blackbelt!用于给菜单充气的新方法签名是:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.my_meny, menu);
}
推荐阅读
- 有没有办法在Android Studio布局编辑器中看到应用于操作栏的自定义布局()
- Android ActionBar(文本未显示图标)
- ActionBar Android Appcelerator中的后退按钮[复制]
- 带有ActionBarDrawerToggle的Android菜单
- 从URL设置MenuItem图标 - Android
- 如何在Android中更改Action栏的高度()
- Android导航组件“向上按钮”打开抽屉导航
- 如何在android中找到系统Action Bar中存在的不同图标的宽度
- 隐藏Android Action Bar解决方案