巴巴巴巴巴巴掌

菜比成长记


  • 首页

  • 关于

  • 归档

手摸手教你写Slack的Loading动画

发表于 2016-08-13 |

项目地址:https://github.com/JeasonWong/SlackLoadingView

老规矩,先上效果。

说下第一眼看到这个动画后的思路:

  • 两根平行线,要用到直线方程 y=kx+b
  • 另外两根平行线,与之前两根平行线的斜率相乘为-1,即k1*k2=-1
  • 线条做圆周运动就是k值的不断变化
  • 然后就是简单的线条长度变化

我相信很多人第一眼会和我有类似的思路,但是当我上了个厕所后意识到我想复杂了~

说下上完厕所后的思路:

  • 不要想着线条是斜的,就是一个普通的线段,一个LineTo搞定(startX和stopX一样,仅Y不同)
  • 线条的垂直更容易,直接Canvas翻转(转过后再转回)
  • 整个动画的圆周运动也是Canvas翻转(转过后不转回)
  • 线条的单度变化依然用属性动画(这是必须的。。)
  • 动画开始前就让整个Canvas旋转

这样一来就太容易了。

阅读全文 »

手摸手教你写炫酷控件

发表于 2016-08-07 |

项目地址:https://github.com/JeasonWong/JikeGallery

话不多说,先上效果。

图二福利

这个效果是在即刻app上看到,觉得很不错,遂仿之。

阅读全文 »

app推送消息发错后该如何处理

发表于 2016-01-24 |

昨天我司有个管理员帐号被盗,导致被不法分子恶意发了多条推送,针对此次事故,给大家带来了深刻的教训,那么app端对这种情况应该做怎样的处理呢?

阅读全文 »

解析特殊结构的JSON

发表于 2015-09-11 |

一般来说JSON的Key是已知的,如下所示:

{
    "results": [
           {
            "id": 1,
            "name": "wangyuwei",
            "sexuality": "male"
        },
        {
            "id": 2,
            "name": "JeasonWong",
            "sexuality": "female"
        }
    ]
}

这样的JSON太容易解析了,但是有性能上的缺点,比如”id”,”name”,”sexuality”这些Key一直重复出现,一定程度上成为了冗余数据,那么问题来了,如何解决呢?参考以下JSON格式。

{
    data: {
        snapshot: {
            fields: [
                "open_px",
                "high_px",
                "low_px"
            ],
            600570.SS: [
                47.08,
                48.38,
                45.88
            ],
            000001.SZ: [
                11.02,
                11.12,
                10.88
            ]
        }
    }
}

这种JSON格式并不是很常见,但是我认为性能确实很强悍的。没有多余的Key,除了”fields”外,其余的Key都不是事先知道的,而”fields”里的Value确是与”fields”同级Key的Value一一对应,成为这些Value的Key。多么好的一个想法!

那么问题来了,对于这种未知Key的JSON数组我们该如何下手呢?

阅读全文 »
123
JeasonWong

JeasonWong

24 日志
1 标签
GitHub Weibo
© 2018 JeasonWong
由 Hexo 强力驱动
主题 - NexT.Mist