使用自定义操作栏/工具栏视图创建选项菜单

时间:2016-11-04 06:36:45

标签: android android-actionbar android-toolbar android-optionsmenu

我已经为我的操作栏实现了自定义视图。除此之外,我还需要一个OptionMenu。 有没有办法仍然使用默认的OptionMenu?我不想设计整个菜单&它本身的功能。

BTW,我的活动扩展了android.support.v7.app.AppCompatActivity

为我的操作栏实现自定义视图的代码

custom_action_bar.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentInsetEnd="0dp"
app:contentInsetStart="0dp">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <Button
        android:id="@+id/custom_B"
        android:layout_width="60dp"
        android:layout_height="30dp" />
</LinearLayout>
</android.support.v7.widget.Toolbar>

我把它包含在我的主XML中:

<include
layout="@layout/custom_action_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

对于OptionsMenu,我放了一些永不打印的日志

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    Log.i(Constants.APP_NAME, "hello1");
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Log.i(Constants.APP_NAME, "hello2");
}

1 个答案:

答案 0 :(得分:3)

不要忘记在您的活动中致电setSupportActionBar()

如果没有此调用,则永远不会调用关联的菜单方法,因为Activity认为没有工具栏。