自定义控件——弄个甜甜圈吧(1): 起源

【注:】本文首发于简书,掘金会同步发送,其余网站皆无授权。

欢迎浏览掘金主页和简书主页,我只是一枚普通的工程师-V-

喜欢自定义控件,也喜欢分享我的思路,希望能得到你的批评和建议,也希望能帮到你

github:https://github.com/razerdp/AnimatedPieView

作为一枚有追求的程序员,既然没法拿刀去捅产品,那只好做的比产品的设计图更加好吧——来自“我”.


写在前面:本篇为起源,暂无涉及代码,仅涉及想法和一些进度,后续会慢慢更新

前言

YaHo~ 好久不见,也好久没在简书写文章了,我是一起撸个朋友圈的作者,虽然好久好久没在朋友圈文集里写文章了(原因在文集里有《再谈朋友圈项目》),但是朋友圈项目我可是一直都有维护的哦~从来都木有落下

如果感兴趣,您可以看看朋友圈项目:https://github.com/razerdp/FriendCircle

嗯,介绍扯完,接下来就进入正题吧

起源

作为程序员,一个新的需求/控件的起源,很多时候都是来源于产品,所以,这次控件的诞生,其实很简单,来源于一张优化点设计图(只截取部分,其余部分不宜公开)

设计图

看起来这张图so easy啦~对吧

3只paint,3个颜色,随便画画,搞定~

可是,不知道为啥,看着这个甜甜圈还挺漂亮的,不甘心就这么简单的画出来就完事。。。

于是心里有个魅惑的声音告诉我:“既然这个不急,只是优化点,那为何不优化彻底一点,做的比这货更漂亮呢”

被魅惑的我,立马熟悉的打开AS,新建Project,填上Name,弄个类继承View,然后。。。。

然后。。。他喵的然后怎么干啊!!!!


迷茫

相信很多人写自定义控件都会有这个疑惑。。。我建好类了~ 我继承好了View了~ 接下来,,,我不会做了TAT

其实不仅仅你们,就是我写过不少的控件,现在建好一个类,我也偶尔会有这个情况。。。(嗯,可能写的还是不够多)

原因很简单:所有的元素,都是心里所想,并没有做出一个具体的动画效果和预览,所以方向太多,一下子很迷茫

因为当我们想完成一个控件或者动画效果是,我们往往很快就能在心里确定好我们想要什么效果,然而当我们真的要实施的时候,就会发现似乎不知道该怎么把效果变成一行行的代码

在迷茫的时候,我的做法是,把我的期望写下来

在心里,我的期望是这样的:

  • 我的甜甜圈会动
  • 我的甜甜圈可配置参数要多
  • 我的甜甜圈点击的时候要有个效果,至于效果,大概是浮上来呈现出Z轴上移的样子,最好能加上阴影
  • 我的甜甜圈要简单好上手。。。

期望写下来,其实就是给自己确定一个TODO-LIST,也给自己一个方向,至少在不懂怎么做的时候,把一个小点做出来再说,毕竟第一版的代码,都是很ugly的。。。

在我把上面的每个小点做出来后,目前我的甜甜圈进度是这样的:

展开动画
点击动画
文字描述

选定方案

迷茫之后,就要真正开始动手,而动手开工的前提,是需要确定好自己的工具

比如按照我上面所写的期望,我会这样去逐步确定我的方案(部分)

  • 甜甜圈:

    • 继承View,自己画出来
  • 我的甜甜圈会动

    • 使用animation,通过数值变换来使甜甜圈慢慢生长
  • 我的甜甜圈可配置参数要多

    • 使用一个类用作参数配置,甜甜圈根据这个类来进行渲染
  • 我的甜甜圈点击的时候要有个效果,至于效果,大概是浮上来呈现出Z轴上移的样子,最好能加上阴影

    • 通过大小变化+paint的BlurMaskFilter使边缘发光模拟出一个视觉欺骗,看起来像选中浮起一样
  • 我的甜甜圈要简单好上手

    • 暴露的api尽量的少,内部代码封装尽量内聚,多使用接口抽象
  • 其他期望。。。做着做着就会产生的了


开工

当你真的要开始写了,我给出我的建议,不管你的代码好还是不好,不管你对自己能否实现有没有一个信心,我都建议,你要把你的代码尽可能的给别人看,比如github,比如技术交流论坛,比如写技术文章

总之就是要分享给别人看,通过大家的批评,或者赞赏,不断的激励着你,不断的在无形中督促着你,你会不自觉的去想方设法提升代码质量,提升封装质量,提升你的技术水平

所以,在建好项目之前,我们,就先Push到github吧~

github:https://github.com/razerdp/AnimatedPieView

下一篇:自定义控件——弄个甜甜圈吧(2): 搭建

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容