Osheep

时光不回头,当下最重要。

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

简介

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

toolbar 扩展

/**

* 项目名称:kanche-mars-android

* 类描述:toolbar扩展

* 创建人:zzy(zhanyong.zhang@kanche.com)

* 创建时间: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。

点赞