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

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

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

  • 1.在资源中创建menu目录和文件,主要是添加菜单中的子选项,添加方法和使用控件类似,汲及到的标签有Menu和Item。它们有很多属性,常用的是title,icon,showAsAction。 下面是一个代码示例,我们在例子中添加了六个菜单子选项:
 //此文件 位于menu目录下
 
<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/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的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

你可能感兴趣的:(一起Talk,Android吧)