优雅的方式实现动态配置toolbar菜单项

简介

项目中突然遇到很多页面需要根据业务类型来展示不同菜单项,在网上找了很多解决方案,实现过于麻烦,下面介绍如何优雅的实现动态配置。

toolbar 扩展

/**

* 项目名称:kanche-mars-android

* 类描述:toolbar扩展

* 创建人:zzy

* 创建时间:2017/9/20 上午11:14

* 修改人:

* 修改时间:2017/9/20 上午11:14

* 修改备注:

*@version

*/

fun Toolbar.addMenu(vararg name : String){

      name.map{

            menu.add(it).let{

              id = name.hashCode()

                //todo 可以继续扩展展 是否可点击,是否显示等等

            }

      }

}

使用

toolbar.addMenu("1","2")//这里可以根据业务类型添加不同item

toolbar.setOnMenuItemClickListener { item->

          when(item.title){

                "1"->

                      safeToast("menu_confirm")

                "2"->

                      safeToast("distribution")

          }

          true

}

总结

这样用是不是比配置xml要简单,而且可以根据业务类型动态配置不同的MenuItem。

你可能感兴趣的:(优雅的方式实现动态配置toolbar菜单项)