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