一起Talk Android吧(第二百五十八回:Android中的Toolbar菜单一)

本文深入讲解Android中Toolbar的菜单功能,包括菜单项的创建、显示方式的设置以及如何添加监听器处理菜单项的响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

各位看官们大家好,上一回中咱们说的是Android中Toolbar的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,我们在上一回中介绍了Toolbar的标题,本章回中我们将介绍Toolbar的菜单。菜单位于Toolbar的最右侧,就是有三个点图标,点击后会弹出菜单来。菜单准确的说法应该是Action,它通常显示在标题右侧,如果有多个就折叠显示到菜单中,这个是通过属性值来控制的,我们稍后会做详细介绍。下面是菜单的使用步骤,请大家参考:

  • 1.在资源中创建menu目录和文件,主要是添加菜单中的子选项,添加方法和使用控件类似,汲及到的标签有Menu和Item。它们有很多属性,常用的是title,icon,showAsAction。 下面是一个代码示例,我们在例子中添加了六个菜单子选项:
 //此文件 位于menu目录下
 <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/toolbar_title"
        android:title="Toobar Title"
        app:showAsAction="never" />
    <item
        android:id="@+id/toolbar_tv1"
        android:title="Toobar Item1"
        app:showAsAction="withText" />
    <item
        android:id="@+id/toolbar_tv2"
        android:title="Toobar Item2"
        app:showAsAction="withText" />
    <item
        android:id="@+id/toolbar_tv3"
        android:title="Toobar Item3"
        app:showAsAction="always" />
    <item
        android:id="@+id/toolbar_tv4"
        android:title="Toobar Item4"
        android:icon="@mipmap/ic_download"
        app:showAsAction="always" />
    <!--<item-->
        <!--android:id="@+id/toolbar_tv5"-->
        <!--android:title="Toobar Item5"-->
        <!--app:showAsAction="always" />-->
    <item
        android:id="@+id/download"
        android:title="Download"
        app:showAsAction="ifRoom" />

</menu>
  • 2.在代码中创建菜单(通过重写回调方法实现):
 public boolean onCreateOptionsMenu(Menu menu) {
   //这里的toolbar就是步骤1中创建的文件
    getMenuInflater().inflate(R.menu.toolbar,menu);
    return super.onCreateOptionsMenu(menu);
}
  • 3.给菜单添加监听器,主要用来处理菜单子项的响应。
@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.toolbar_title:
                Log.i(TAG, "onOptionsItemSelected: menu title ");
                break;
            case R.id.toolbar_tv1:
                Log.i(TAG, "onOptionsItemSelected:  item1");
                break;
            case R.id.toolbar_tv2:
                Log.i(TAG, "onOptionsItemSelected:  item2");
                break;
            case R.id.toolbar_tv3:
                Log.i(TAG, "onOptionsItemSelected:  item3");
                break;
            case R.id.toolbar_tv4:
                Log.i(TAG, "onOptionsItemSelected:  item4");
                break;
            case R.id.download:
                Log.i(TAG, "onOptionsItemSelected:  download");
                break;
            default:
                Log.i(TAG, "onOptionsItemSelected: default: "+item.getItemId());
                break;
        }
        return true;
    }

看官们,在代码中我们没有做具体的操作,只是打印一行log。大家可以依据菜单内容添加相应的功能。

各位看官,关于Android中Toolbar的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值