在Android开发中,使用setSupportActionBar()
方法可以将一个Toolbar实例设置为Activity的操作栏。通过调用setSupportActionBar()
方法,我们可以在Toolbar中显示菜单项,并处理菜单项的点击事件。
然而,如果我们不使用setSupportActionBar()
方法,而是想要在Toolbar中显示菜单项,可以通过以下步骤实现:
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar" />
onCreate()
方法中,找到Toolbar控件的引用,并设置它作为Activity的ActionBar,代码如下:Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
menu_main.xml
,并在其中定义菜单项,例如:<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item1"
android:title="菜单项1"
android:icon="@drawable/ic_menu_item1"
android:showAsAction="always" />
<item
android:id="@+id/menu_item2"
android:title="菜单项2"
android:icon="@drawable/ic_menu_item2"
android:showAsAction="always" />
</menu>
onCreateOptionsMenu()
方法和onOptionsItemSelected()
方法,以处理菜单项的点击事件,代码如下:@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.menu_item1) {
// 处理菜单项1的点击事件
return true;
} else if (id == R.id.menu_item2) {
// 处理菜单项2的点击事件
return true;
}
return super.onOptionsItemSelected(item);
}
这样,我们就可以在Toolbar中显示菜单项,并处理菜单项的点击事件,而不使用setSupportActionBar()
方法。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云