Android低代码开发 - 像启蒙和乐高玩具一样的MenuPanel

277 阅读3分钟

引言:

是的你看见到处是烦恼

抱怨在办公室里飘扬

一天天过得像狗一样

让你泪汪汪

你的零花钱还够用吗

你的工资单还在跌吗

这儿有一个哆啦牌框架

你不想看看吗

以上改编自歌曲《New Boy》,如有雷同,纯属雷同。

在经济大环境不好的情况下,你还不提升下技术硬实力,还想着在公司混吃混喝那是不行的啊,公司搞不好都得被你们给混倒闭啊!当然你要是世界500强企业就当我没说。

Dora全家桶介绍

Dora全家桶,不是你吃的肯德基全家桶,而是一个几乎可以涵盖你Android开发方方面面的框架,包括基础库、数据层以及各种形形色色的自定义View。它是一个以IDE插件( github.com/dora4/dora-… )为壳的综合性框架集合。其中包括三大板块,dora(核心架构层)、dcache(数据层)和dview(实用的自定义View集合)。

设计理念

dview的设计理念包括开箱即用、低代码、高效开发、界面简洁、可扩展性强。本篇介绍的是MenuPanel,它属于dview板块下的一个核心组件,后期由它可以衍生出很多以它为纽带的插件模块。它和IDE插件dora-studio-plugin的关系是,可以通过IDE界面的方式快速生成MenuPanel风格的界面,只需要做少许修改即可完成一个界面的全部功能。

界面风格

IMAGE 2024-05-20 20:41:32.jpg

IMAGE 2024-05-20 20:41:58.jpg

IMAGE 2024-05-20 20:42:02.jpg

IMAGE 2024-05-20 20:42:05.jpg

以上界面是不是风格类似,都是基于MenuPanel开发的。上面是一个github.com/dora4/dview… ,下面是一个github.com/dora4/dview…

MenuPanel介绍

MenuPanel里面有两个概念,菜单组和菜单。每一行都是一个菜单,而上面浅灰色空的那一部分加上下面连续的几个菜单称为一个菜单组。每一个菜单都有一个独一无二的menuName,且必须要设置,因为设置事件监听和删除菜单时会用到。dview-menu-panel主库中只提供几个简单的由系统控件组成的菜单项,我们也可以简称为菜单。菜单上面可以预留一个空白区域指定菜单标题,可以在菜单组中指定整体的标题,这样组内所有子菜单的标题将会被自动擦除。另外,TipsMenuPanel作为MenuPanel的子类,可以在最下面指定一个水平居中的footer文字。

主库提供的基本菜单类型

常规类型,左边是一个文字,右边是一个向右的箭头。

dora.widget.panel.menu.NormalMenuPanelItem

图标类型,左边是一个小图标和文字,右边是一个向右的箭头。

dora.widget.panel.menu.IconMenuPanelItem

输入类型,整体是一个文本输入框。

dora.widget.panel.menu.InputMenuPanelItem

按钮类型,整体是一个按钮。

dora.widget.panel.menu.ButtonMenuPanelItem

自定义类型,可以根据自己的业务定制。

dora.widget.panel.menu.AbsMenuPanelItem

扩展的菜单类型演示

IMAGE 2024-05-20 21:07:54.jpg

IMAGE 2024-05-20 21:08:13.jpg

IMAGE 2024-05-20 21:08:31.jpg

比如颜色选择的功能,后期会抽取出来,可以作为拼图,拼到主库中。这样通过这样一个菜单作为入口,直接依赖一个库差不多就完成了功能,是不是很酷。类似的还可以做如文件选择等。

总结

本篇简单介绍了大致的功能,下期我们来讲代码吧。欢迎star,项目github.com/dora4/dview…