android Toolbar 设置Menu单选按钮
时间: 2023-12-16 21:04:17 浏览: 101
android里设置menu菜单
5星 · 资源好评率100%
在 Android 中,可以使用 Toolbar 控件来创建一个带有菜单按钮的应用栏。要设置菜单单选按钮,可以按照以下步骤进行:
1. 在 res/menu 文件夹中创建一个菜单文件(例如 menu_my.xml),并添加单选按钮菜单项:
```
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/my_group"
android:checkableBehavior="single">
<item
android:id="@+id/item1"
android:title="Item 1"
android:checked="true"/>
<item
android:id="@+id/item2"
android:title="Item 2"
android:checked="false"/>
<item
android:id="@+id/item3"
android:title="Item 3"
android:checked="false"/>
</group>
</menu>
```
注意,这里的 checkableBehavior 属性设置为 single,表示这个菜单组只能选择一个菜单项。
2. 在 Activity 中重写 onCreateOptionsMenu 方法,加载菜单文件,并设置菜单项点击事件:
```
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_my, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.item1:
// 处理菜单项点击事件
return true;
case R.id.item2:
// 处理菜单项点击事件
return true;
case R.id.item3:
// 处理菜单项点击事件
return true;
default:
return super.onOptionsItemSelected(item);
}
}
```
3. 在 Activity 中获取 Toolbar 控件,并调用 setOnMenuItemClickListener 方法设置菜单项点击监听器。在监听器中,可以通过 MenuItem 的 isCheckable 和 isChecked 方法来判断菜单项是否可选和是否已选中,从而实现单选功能:
```
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if (item.isCheckable()) {
// 如果菜单项可选
if (!item.isChecked()) {
// 如果菜单项未选中,将其选中
item.setChecked(true);
}
}
// 处理菜单项点击事件
return true;
}
});
```
注意,这里要先判断菜单项是否可选,因为有些菜单项可能不是单选按钮,不需要实现单选功能。如果菜单项可选并且未选中,则将其选中。处理完菜单项点击事件后,要返回 true,表示已经处理了该事件。
阅读全文