欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-06-21 19:18:22
各位看官们大家好,上一回中咱们说的是Android中Toolbar的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!看官们,我们在上一回中介绍了Toolbar的标题,本章回中我们将介绍Toolbar的菜单。菜单位于Toolbar的最右侧,就是有三个点图标,点击后会弹出菜单来。菜单准确的说法应该是Action,它通常显示在标题右侧,如果有多个就折叠显示到菜单中,这个是通过属性值来控制的,我们稍后会做详细介绍。下面是菜单的使用步骤,请大家参考:1.在资源中创建men...

各位看官们大家好,上一回中咱们说的是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的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

本文地址:https://blog.csdn.net/talk_8/article/details/107136835