不错的带有呼吸式并带有动画的提示演示

最近在看Drakeet的博客的时候,看到一篇不错的文章,介绍的是一种呼吸灯的生成。看了代码后,顿时觉得这种思路挺不错的,虽然实现方式很普通,但是能实现这种样式,能体现了图像算法的魅力所在。先看下实现的样本图吧:


simple.gif

大家看到样本图后,首先觉得是文本框的背景色一直发生变化的呢。对的,这里的颜色值是一直不断发生变化来实现的,其实也不是颜色值发生变化的,只是改变颜色值的alpha值而已,下面来看看这个alpha是遵循什么图像变化的吧:

图像.png
函数.png

其实这里的apha值就是按照上面那个抛物线的轨迹来发生改变的,
大家可以去代码中看到有该函数的实现:

private static double getBreathingY(long time, int n, int t) {   
    float k = 1.0f / 3;   
    float pi = 3.1415f;  
    float x = time / 1000.0f;   
    t = (int) (t / 1000.0f);  
    if (x >= ((n - 1) * t) && x < ((n - (1 - k)) * t)) {        
       double i = pi / (k * t) * ((x - (0.5f * k * t)) - (n - 1) * t);     
       return 0.5f * Math.sin(i) + 0.5f; 
    } else if (x >= ((n - (1 - k)) * t) && x < n * t) {  
       double j = pi / ((1 - k) * t) * ((x - (0.5f * (3 - k) * t)) - (n - 1) * t);        
       double one = 0.5f * Math.sin(j) + 0.5f;     
       return one * one;   
    }  
    return 0;
}

理解了这个函数的实现,基本上就get所有的点了,其实也没什么好说的了,其余的动画实现也是android基本动画实现。大家可以直接去看看代码是如何实现的吧。

关于我

email: a1002326270@163.com
github: enter

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 位图图像和图像蒙板就像Quartz中的任何图形图元。 Quartz中的图像和图像蒙板都由CGImageRef数据类...
    权宜平和阅读 5,707评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,066评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,576评论 4 61
  • 妥协是种“艺术”,我亲爱的领导们,同事们,朋友们不少人都是这样认为的,曾经我也是这样认为。 曾经我已经忘记了,为了...
    52hz的黑豆豆阅读 2,656评论 2 0
  • ----重逢---- 徐 宏 寒雪欲来时 我们盘旋矫健的身姿 在谷风的嘶鸣中 长成搏击苍天的雄鹰 不知那些失眠...
    sunxuhong阅读 1,490评论 0 1

友情链接更多精彩内容