定制一个圆环窗口其实是比较简单的,原理无非就是贴一个透明圆环图片,同理,实现一个圆环形状的按钮
也是贴一个带透明通道的图片搞定,如果是这样的话,也没什么可值得分享的,且慢,其实这里面还是有些问题
需要处理的:
1、如何处理鼠标的正确点击
虽然我们很轻松的贴上了带透明通道的图片,但是,这些图片实际上还是以矩形的形态存在,虽然视觉上我们
看到的是不规则的,比如现在的圆形或者部分圆形,实际上还是矩形,那么当鼠标移动时,按我们的一般认知,
只有鼠标落在实际的可见的区域上时才能算是真正的点击到该控件或者窗口,比如只有鼠标落在圆环上才算点击
窗口而不是落在圆环内部或者圆环所在矩形的四个角时也视为点击,这里就关系到不规则界面的有效点击区域的处理,
而要做到这个有许多的工作要做,首先在鼠标的点击时要判断当前点击落在哪个控件上,如果是控件,还得查看当前位置
是否是有效区域,如果不是则继续查找其他控件如此进行查找判断,如果未落到某个控件,则判断是否是窗口的有效区域,
如果也不是窗口有效区域则忽略当前鼠标点击。
2、复杂的编码
按上面1所述的方法不仅需要有有效区域的查找算法,还有如何传递这些有效区域的条件,已经递归查找的算法,以及其他
一些复杂的处理,总之要完成这个功能,不仅仅是搞清楚原理就行,还要面临一系列的系统架构的规划和编码,
实际上想想都很烦人。
综上所述,那我今天在这里给大家推荐的这个圆形界面,实际上是很简单就能实现的,为什么会这么简单:
1、这个软件采用的是基于图片透明处理技术的MUILIB编写,原生支持图片的局部区域透明处理,所以处理起这种
不规则或者说非矩形区域图片有着天然的基因,而无需再去编写一大堆的代码。同时,在MUILIB里已经封装了
控件查找算法和各种有效区域设置机能,所以在设计这种界面时更无需为此再去编写任何代码。
2、这个软件只需编写简单的XML配置文件就可以实现这些效果而无需再编写任何代码,当然如果想带功能,那自然还得
写些业务逻辑代码的。编写XML文件可以手工编写,如果你已经非常熟悉窗口和控件的各种属性的话。对于那些复杂
而又繁多的属性无所了解的人以及想实时看到实际运行效果的人 来说,还有一个比较好的选择,那就是MUILIB提供
的可视化界面编辑器,通过这个界面编辑器,不仅可以可视化的看到各种属性及其解释,还能可视化的对软件界面
用到的各种资源进行组织和管理。
运行效果图如下:
资源包下载地址:
http://download.youkuaiyun.com/detail/bukebushuo/4594947
查看该资源包,请到官方网站下载最新版的界面编辑器或者界面播放器运行里面的mui文件即可!
官方下载网址:
http://www.muilib.com/download.html