Half-Blood Programmer

M8 Theme Builder

3.0的第一弹

终于花了一些时间看看M8主题大师的代码和M8新固件的匹配程度。其实检查起来并不复杂, Step 1 以同步模式将M8连接到本本上面。 Step 2 从/Windows下面复制Default2.mth到本本。 Step 3 用2.5版本的主题大师打开这个主题。 差别居然这么不明显。哈哈哈。不过仔细的解压出最新的cfg文件一看还是变化多一些,多了一些图标的名字,没了电话背景等等。 简单的改进了一下,现在3.0 Alpha出来了, http://mymobilepack.codeplex.com/releases/view/40828 敬请测试。

M8 主题大师 2.5 发布

M8 Theme Builder 2.5 已经与上周末发布了。作为一个阶段性的总结,这个版本完成了多语言版本,应该是终于满足了国内朋友的需要了。 http://mymobilepack.codeplex.com 终于把手里的公测版寄回魅族换了SE。从初见的感觉来看,SE的质量应该还是好一些,睡死的问题终于没在第一晚出现。希望永远不要再现杯具了。 就到这里吧,准备圣诞和新年的计划去了。

M8主题大师2.5的进展

不知不觉中十二月快到了。似乎Meizu并没有能够在新UI之类上面做出特别值得关注的改进。但是新版本固件的发布多少曾经让我有些高兴。只是这种高兴不可能恢复我对于M8的一丝好感。对了,既九月屏幕罢工之后,我手里这台公测版也频繁出现睡死问题了。因为这两个问题算是M8公测版的顽疾,而且硬件因素比较大,我也就不多装行家来评论了。 对于M8主题大师2.5版本,我所希望的就是完成自定义按钮的添加和删除。不过添加的确很好做到,难点在于删除。所以现在最新的构建版实际上已经有了添加自定义按钮的功能,但是删除的部分还迟迟没有加入。希望能够在十二月间做完这个功能,届时2.5正式版也就可以发布了。 对于2.0正式版,我已经收到一些用户的反馈,下面也来回复一下。 中文版 应该说中文版是大家十分期待的。可是现在界面元素的修改还是很频繁的,还不是开始汉化的最好时候。我希望在2.5正式版中间加入中文的支持,但是也可能留到3.0版本再说。 预览模式 有用户希望能够暂时隐藏用于选择图片的那些文件夹按钮。那么就需要主题大师可以提供”编辑”和”预览”两个模式。在最新的构建版里面我已经完成了这一块,所以有兴趣的朋友可以自己检出代码编译之后试用一下。不是特别有用,但是想想也会有一些需求,例如仅仅为了看看某个下载后的样式到底看起来怎么样,这个时候编辑功能并不那么重要。 标题的字体 其实大家都知道修改M8使用的字体需要一些手段。有用户希望主题大师上面的字体也是可以修改的。那么现在我也在构建版本里面提供相对应的菜单项,方便有需要的朋友试用。当然,选择的字体仅用于看看效果,最后生成的M8主题包并不会包含这个设置,也不会最后在M8上面生效了。 写在最后 我的M8很快就会寄回原厂去换SE了,所以开发和测试应该会中断一些日子了。这都是不可避免的耽搁,而且我还得使用自己那个旧旧的Nokia来备用。真是希望SE会质量好一点,对得起我支付的200块银子。

M8主题修改的对决?

终于在发布到2.0版本的时候,Theme Editor的作者majiyunsea回复了我在魅族论坛的帖子。 http://bbs.meizu.com/thread-1216752-2-1.html 当然了,肯定不是砸场子了,哈哈。应该说排除一些”牢骚”,可以看出majiyunsea对于魅族产品缺陷的体会比我要深许多。 我也立即测试了一下深度美化的一些东西,例如替换资源dll的方法,果然ThemeManager在提示重启之后显示界面出现了严重的bug,完全就是显示错误。可以通过在MTH主题包里面嵌入那些资源dll是一个没法完成的任务。这也解释了为什么其他深入美化的帖子要么推荐手工替换,要么采用CAB安装包。看来都是为了绕过这个严重的bug。 因此假如在后面的版本中我计划添加深入美化的支持,看来直接生成CAB文件是个必然的选择。我会仔细研究一下CAB的格式,看看是不是那里也有bug在等待着我。 关于M8新UI,乃至于Android版本的固件,我其实抱着一个很悲观的态度。毕竟后面的版本很可能会使得M8 Theme Builder需要重新设计,但是使用C#和.NET平台的好处就是我开发起来几乎不费什么力气,所以想要发布一个新版本并不是特别困难的事情。 希望M8 Theme Builder和M8 Theme Editor的竞争可以友好的继续下去。

M8主题大师(M8 Theme Builder) 2.0正式发布

利用上面两个周末基本完成了2.0版本的主要开发。由于改进了很多M8界面模拟方面的细节,现在这个工具的预览效果同真机应该没有特别的差别了。另外就是用Inno Setup做了一个方便一些的安装包。 今天,也就终于发布了2.0正式版。感兴趣的朋友可以到该项目主页下载 http://mymobilepack.codeplex.com

M8 Theme Builder 1.0/2.0版本已解决技术难点的汇总

自定义控件 之前自己也做过很多WinForms项目了,包括为Cisco的EOC产品所做的网络设备管理工具,包括Code Beautifier Collection这样的Delphi IDE插件,包括#SNMP MIB Browser和Compiler这样的小工具。但是这几个东西都属于规矩的用户界面,几乎不需要采用任何自定义控件。实际上对于一个WinForms开发人员来说,制作自己的控件还是十分必要的。M8 Theme Builder也是很好的练兵机会。由于WinForms默认控件对于透明背景是没有支持的,为了能够搭建出高仿真的M8用户界面,Theme Builder必须使用自定义的控件。 关于透明背景的控件开发,其实互联网上相关的文章还是很多的。我主要参考了下面两篇文章。应该说最后Theme Builder 1.0基本上达到了预期的效果。而在2.0版本中,这些控件又稍微做了一下改进。 主题包的解析 对于ZIP解压,我一直使用SharpZipLib。由于这个开源函数库已经十分完善,所以压缩/解压ZIP非常方便。 读取和修改配置文件其实就是基本的INI文件读写操作。我最后采用的是RemObjects的ShineOn开源库,使用TIniFile类型。应该说INI文件已经逐步退出了历史舞台,但是凭借这些开源的函数库,读写INI文件是十分方便的一件事情。 M8主题部件的两个bug Meizu的开发人员似乎没有意识到INI文件格式其实很宽松,所以他们仅仅提供的支持其实很不充分。例如下面的一行其实是有效的INI格式, AudioPlayer = AudioPlayer.png 但是假如以这种格式做成配置文件并放入主题包中,那么M8并不能认出这一行。唯一能够被识别的格式是 AudioPlayer=AudioPlayer.png 之前我采用的Nini只能生成上面带有空格的格式,而不能生成下面紧凑的格式。我尝试过自己修改Nini代码来满足M8的要求,但后来还是换成了ShineOn。这实在是一个令人烦恼的bug。 可是换成ShineOn又触及了另外一个bug。原因是CFG文件中好像不能有空行,否则M8上面使用主题时会出现ThemeManager.exe进程hang掉的严重系统故障(唯有重启M8才能恢复)。 最后为了绕过这两个bug,我只能先用ShineOn生成INI文件之后手工删除空行来满足M8的CFG格式要求。 预览效果图的生成 在1.0的版本中,一个很大的问题是Theme Builder不能生成两个预览图片。这样最后保存的主题包可能在拿到M8上面安装之前,用户没有办法通过标准的预览界面看到效果,而只能到实施这个主题后才会看到。这是一个很不方便的地方。但是要在Theme Builder中生成预览也需要几方面的考虑。 直接将界面抓屏保存为图片,虽然可以说比较简单,但是由于选择图片的Shortcut控件是可见的,所以抓下来的效果是略有瑕疵的。因此最后我还是才用了手工绘制的方式,将一块画布(Graphics)传递给各个控件并由它们自己绘制到预览图片上。这样做得到了最好的预览图片效果,而且大图缩放之后就可以同时生成小图。 应该说到这里2.0版本的开发也基本结束了,应该很快就可以正式发布。 WPF和WinForms的抉择 由于WPF是一个更加适合界面制作的框架,我也尝试使用WPF做了一些技术研究。从尝试结果来看,WPF对于透明背景的支持乃是浑然天成,而Expression Blend的设计体验又是十分舒服的,所以在制作同级别复杂程度的界面比较中,WPF还是胜出很多的。 可能在我真正领悟了WPF的开发技巧之后,Theme Builder的界面可以有一天切换到WPF。当然,这个不会很快到来,因为现在WinForms的界面我个人觉得已经够用了。你的感觉呢? 附:M8主题文件的格式 其实M8的主题包(MTH)就是一个结构严谨的ZIP包,这一点同Stardock产品的样式包是很类似的。MTH包解压后内容包括, 1.…

从Meizu的招聘职位看M8的未来

Meizu也开始了今年的校园招聘, http://bbs.meizu.com/thread-1275481-1-1.html 从这里的信息来看,Meizu的确有考虑Android操作系统。只是那原来Windows CE平台的开发人员呢?难道要裁掉不成?由于没有一个公开的路线图,这样的信息只是让人越发看不懂M8的未来。

M8 Theme Builder(主题大师)用户手册: 教你简单制作魅族Meizu M8手机主题

(CSDN Oct 11, 2009) 版本 适合2.5/3.0正式版。 下载 http://mymobilepack.codeplex.com 运行平台 (最低).NET Framework 3.5 SP1 。支持Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2。 用户界面 基本操作 1. 打开主题文件 通过File|Open Theme打开MTH文件。该主题将被显示在面板上。 2. 新建主题文件 通过File|New Theme新建MTH文件。魅族设计的默认M8主题(937版本)将被显示在面板上。 3.…

Coding For Meizu M8

使用小八也有一段时间了,总是感觉做美化的时候工具太少。虽然市面上已经有了M8 Theme Editor,而且这个工具也凑合着够用了,但是和手工制作相比,这个工具还有一些缺陷,同时能够提供美化的内容也并不多。作为一个程序员,面对着如此困境总该有些特别的解决方式了。既然人家只是免费,而不提供源代码,那只能自己亲力亲为来做做开发M8 Theme Builder了。 也就是考虑到界面设计能够更好的锻炼自己Windows Forms自定义控件的开发,我就用C#做了一下尝试。现在1.0的版本也终于发布了,基本上提供了MTH文件新建和修改的功能,应该是达到了M8 Theme Editor初级版本的程度。下面就是尽快完善2.0的版本,提供更加漂亮的操作界面和补充一些有用的功能。 竞争还是十分有利于创新的,希望Editor和Builder的竞争能够给MY们带来更多的选择。 M8 Theme Builder可以从这里下载 http://mymobilepack.codeplex.com 源代码基于GPL 2一并发布。