「玩一玩」仿 iOS 图标上叠加数字提示(如未读短信、未接电话)
吃饭前玩玩,刚才做的实验,新鲜热辣
首先,这只是个实验,纯 GDI+ 画的。和网上其他实现无关,所以不要说别人的做的漂亮些(我也羡慕)
其次,截图里的 iOS 图标和演示的看起来比例不大一样,那是因为 iOS 的图标都是 64x64 开外的大图标
演示里用的只是 32x32 的小图标(手上没货),所以如果你手里有 64x64 以上的大图标,欢迎在回帖里
把效果截图贴出来,最好是和 iOS 做个对比(有时候,自取其辱也是提高的一个捷径)
p.s. 做实验而已,所以只能显示 1 位数字
还是老规矩,DEMO 和源码
点我下载 DEMO
点我下载源码
--------正文-----------
相信大家对风行全球,迷倒无数潮男潮女,把妹达人必备的苹果的大名已经是如雷贯耳了
苹果流行的一个重要原因是它的界面很骚,而且经常创新,通俗点说,就是独领风骚
下图是苹果的一个很好的点子(我不保证这是苹果原创的,谁知道呢)
如果你有未接来电或者短信,iOS 会在图标上叠加数字来提醒,就像这样
看起来似乎很好。我把它拿到桌面上来(现在很多软件都已经实现了这个功能,所以我说只是玩玩而已)
分析下这个东西的层次结构,应该(或者说我理解)就像这样
目标找到了,剩下的无非就是画图的工作了,下面是刚才做的实验截图
再次说明,这个看起来难看是因为原始图标太小了。。推荐用 48x48、64x64、128x128(有点太大了)。。
你也可以在叠加图标尺寸上增加一个缩放因子,根据图标大小来匹配
也可以根据字符长度决定叠加区大小,这样可以显示任何东西
欢迎各位把自己得意的截图贴在回复里
打完收功。
------解决方案--------------------这个功能不错,收藏
------解决方案--------------------WPF的话就直接adorner
------解决方案--------------------精益求精一下,这些元素全部都应该是draw出来,矢量化的,而不是bitblt
另外中间的底图应该是一个渐变笔刷
不过已经很好了,我在winform age只会bitblt,嘿嘿
------解决方案--------------------你可以睡觉了
------解决方案--------------------
------解决方案--------------------牛人呀
------解决方案--------------------大牛,跟着学习一下先
------解决方案--------------------绝对收藏!
------解决方案--------------------好东西呀!收葳
------解决方案--------------------学习了。。 不错的东西
------解决方案--------------------有思想有行动
------解决方案--------------------自主创新啊
------解决方案--------------------假设这里的数字不是2,而是102,效果如何呢?
------解决方案--------------------感谢分享!
------解决方案--------------------感谢分享
------解决方案--------------------感谢楼主分享!
------解决方案--------------------感谢分享!
------解决方案--------------------厉害,你是行的
------解决方案--------------------很好的一个小软件,但不完全不能存盘
------解决方案--------------------挺有想法的