我有一个左侧带抽屉的操作栏。我想在操作栏的右侧添加另一个菜单。它可以是三个点或一个按钮或其他任何东西。有没有办法做到这一点?
谢谢:))
答案 0 :(得分:2)
要在actionBar中实现3点菜单,在您的活动(扩展AppCompatActivity或ActionBarActivity)中,您将覆盖选项菜单的创建,如下所示
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.your_menu, menu);
return true;
}
此R.menu.your_menu
是res/menu
文件夹中存在的资源项。一个示例菜单资源文件内容
<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="your_package.your_activity">
<item
android:id="@+id/action_edit"
android:orderInCategory="100"
android:title="@string/action_edit"
app:showAsAction="collapseActionView"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="101"
android:title="@string/action_settings"
app:showAsAction="collapseActionView"/>
</menu>
这将显示一个菜单,默认情况下折叠了两个选项。要收听这些菜单项的点击,您可以覆盖onOptionsItemSelected
并执行必要的操作
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_settings:
//Do something
...
return true;
case R.id.action_edit:
//Do something else
...
return true;
}
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:0)
您可以为ActionBar创建布局,然后在您的活动中使用以下内容:
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.custom_action_bar);
在你的R.layout.custom_action_bar中创建你需要的按钮。