是因为NavigationUI只能用于设置Toolbar的导航图标和标题,无法直接设置optionMenu。optionMenu通常用于在Toolbar上显示更多的操作选项,例如搜索、设置等。
要在Toolbar上设置optionMenu,可以通过以下步骤实现:
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search"
android:title="Search"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_settings"
android:title="Settings"
app:showAsAction="ifRoom" />
</menu>
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_search) {
// 处理搜索操作
return true;
} else if (id == R.id.action_settings) {
// 处理设置操作
return true;
}
return super.onOptionsItemSelected(item);
}
通过以上步骤,就可以在Toolbar上设置optionMenu,并处理相应的点击事件。
腾讯云相关产品和产品介绍链接地址:
云+社区沙龙online [云原生技术实践]
企业创新在线学堂
“中小企业”在线学堂
极客说第一期
DB-TALK 技术分享会
云原生正发声
新知
DBTalk
腾讯技术创作特训营第二季
腾讯云GAME-TECH游戏开发者技术沙龙
领取专属 10元无门槛券
手把手带您无忧上云