使用自定义 actionbar/toolbar 视图创建选项菜单
Create Options Menu with custom actionbar/toolbar view
我已经为我的操作栏实现了自定义视图。除此之外,我还需要一个 OptionMenu。 有什么方法可以继续使用默认的选项菜单吗?我不想自己设计整个菜单及其功能。
顺便说一句,我的 activity 扩展了 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");
}
别忘了在 activity 中调用 setSupportActionBar()
。
如果没有此调用,则永远不会调用关联的菜单方法,因为 Activity 认为没有工具栏。
我已经为我的操作栏实现了自定义视图。除此之外,我还需要一个 OptionMenu。 有什么方法可以继续使用默认的选项菜单吗?我不想自己设计整个菜单及其功能。
顺便说一句,我的 activity 扩展了 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");
}
别忘了在 activity 中调用 setSupportActionBar()
。
如果没有此调用,则永远不会调用关联的菜单方法,因为 Activity 认为没有工具栏。