修改justinmind原生部件

对justinmind的研究一直未曾停掉,而且最近时间充裕,于是想要在justinmind上创建个人部件库,方便以后的工作使用。

之前已经在Axure上完成类似的工作,而且统一风格为简约的黑白风格,即使用十六进制色值666666作为主色调,999999作为次色调。

面对全英文版的justinmind,一时觉得力不从心,本着不能解决问题的产品经理不是好的程序员的想法,开始使用各种关键词百度。

首先是了解到justinmind是支持新增自己创建部件库的,于是心一横,想人肉出一套,但是在实际操作中却是泪流满面。

操作步骤:打开justinmind→打开或新建.vp文件→点击widgets选择new widgets library→输入名称完成创建

接下来,开启人肉编辑模式,将修改好的部件拖到创建区域…

制作了两三个后,突然感觉——这是产品的耻辱,竟然没有想到更好的办法解决问题,在产品经理的世界观里绝对不允许!

开始冷静地分析:

  • 必要性
    1. 统一的部件库“利在当代,功在千秋”
    2. 纯人肉编辑无法完成缩略图的搭配
  • 可行性
    1. Axure支持编辑原生部件样式,说不定justinmind也可以
    2. 原生部件都有缩略图,可以作为切入点

于是,开始翻看justinmind的安装位置文件,这个时候文件夹widgets深深滴吸引了我的目光。点开后,发现这里有大量的缩略图,心想:卧槽!这样编辑的时候不就可以添加这些图片了!

随即,我对这个想法嗤之以鼻,因为我还有更大的发现。

路径:C:\Program Files (x86)\Justinmind\Justinmind Prototyper 7.1.0\widgets\ui\10ed0e22-75e0-459e-aa12-1e1c596d67c8

在这里,有一个.xml文件,体积还很大,难道?莫非!一定是!!原生部件的秘密一定藏在这里!!!

小手一点,使用notepad++打开widgets.xml,迎面而来是几万行代码…

部分代码:BorderStyle radius="0" leftColor="0r0g0b" topColor="0r0g0b"

代码使用十六进制色值对原生部件库进行控制,有点类似于CSS,根据当年自学的一点HTML语言,顿时胸中有了思路——可以使用notepad++进行色值的替换,如此不就可以实现批量修改而且无需担心缩略图匹配的问题了。

工具:notepad++,负责打开文件,执行查找和替换操作;在线十六进制颜色转RGB工具

步骤:

  1. 开启两个justinmind窗口,以便做A/B检验
  2. A窗口获取原生部件颜色值(十六进制),copy至在线工具进行转换获得颜色值(RGB)
  3. 修改RGB为代码格式,即将逗号分别改为字母rgb,符合格式方可替换
  4. 使用notepad++打开widgets.xml文件,使用快捷键ctrl+H
  5. 完成替换后,快捷键ctrl+S保存
  6. B窗口重新加载修改的部件库,拖拽部件进行检验
  7. 以上操作按照步骤循环检验,直至所有部件色值均修改完毕

修改记录:

蓝色:007DFF 0, 125, 255 灰色:666666 102, 102, 102
0r125g255b   102r102g102b

淡蓝:1174C1 17, 116, 193 浅灰:999999 153, 153, 153
17r116g193b  153r153g153b

修改完色值,还不算完美。

Android部件库遵循 material design 设计规范,因此有些部件是有阴影的。

接下来,就让我们把阴影全部干掉吧,将这个世界彻底推向二维。

工具:notepad++

步骤:

  1. 替换<text enable="true"``<box enable="true"<text enable="false"``<box enable="false"
  2. 修改后保存,重新加载修改的部件

如此,原生部件统一风格工作就完成了。

最后要说的:

在justinmind工作区域properties部件属性区域有一个编辑按钮,可以对原生部件进行编辑并保存,如果不想如此大费周章替换,可以试试这个方法。

以上,以后会提供更多justinmind的使用技巧,共进步!