Android UI:撒花动画

作者: 徐影魔 | 来源:发表于2018-12-03 18:38 被阅读0次

CoolAnimaions(一)

github

最近做一个喝水的项目,喝水达到目标量要一个酷炫的动画,看到有些app上有这个动画,模仿了一下。

RainView

rain_view.gif
  • 支持各种形状,多边形,星形
  • 自定义多边形,星型drawable
  • 可设置最多显示数量

思路就是通过召唤师控制下雨,召唤师有一个雨滴生成器召唤雨滴。各司其职,容易扩展。

关键类

召唤师ISummoner

public interface ISummoner {

    interface IRaindropCreator{
        void injectRaindrops(ISummoner summoner);
    }


    void initRaindrops(List<IRainDrop> list);

    List<IRainDrop> getRaindrops();

    /**
     * start to rain
     */
    void fall();

    /**
     * stop the rain
     */
    void stop();


    void deployRaindrops();


    boolean shouldAbandon(IRainDrop rainDrop);

    void setRaindropCreator(IRaindropCreator raindropCreator);

    void setMaxRaindropCount(int maxRaindropCount);

    int getMaxRaindropCount();

}

雨滴元素IRainDrop

public interface IRainDrop {

    void setInitPosition(PointF pointF);

    PointF getInitPosition();

    void setRaindropWidth(int width);

    int getRaindropWidth();

    void setRaindropHeight(int height);

    int getRaindropHeight();


    void setCurrentX(float x);

    float getCurrentX();

    void setCurrentY(float y);

    float getCurrentY();

    float getRaindropRotation();

    void setRaindropRotation(float rotation);

    float getRaindropRotationSpeed();

    void setRaindropRotationSpeed(float speed);


    void setSpeedX(float speedX);

    float getSpeedX();

    void setSpeedY(float speedY);

    float getSpeedY();

    /**
     * move to position
     */
    void moveTo(float x,float y);


    void draw(Canvas canvas);

    boolean isLoop();

    void setLoop(boolean loop);
}

示例用法

mRainView = findViewById(R.id.rain_view);
mRainView.setMaxRaindropCount(25);
mRainView.setRaindropCreator(new RaindropCreator());
mRainView.fall();

相关文章

  • Android UI:撒花动画

    CoolAnimaions(一) github 最近做一个喝水的项目,喝水达到目标量要一个酷炫的动画,看到有些ap...

  • Android_开发_Day26_android中的三种动画

    Android_开发_Day26_android中的三种动画 目的: 学会使用Android里面的动画来增加UI的...

  • Android 动画

    Android系统提供了强大的动画API,将这些动画用在UI元素上会让你的UI变得生趣,适度的动画可以带来友好极致...

  • Android动画

    Android动画 Android提供了多种强大的API,用于动画UI元素和绘制自定义2D和3D图形。 逐帧动画(...

  • iOS创建撒花动画

    一、介绍 在很多的游戏中,会有这么一个桥段,就是闯关成功后,会弹出一个奖品同时出现很多的鲜花或者笑脸。例如微信中祝...

  • 利用SurfaceView实现帧动画效果,更流畅,更节约内存

    利用SurfaceView实现帧动画效果 在开发Android做动画效果的时候,有时候UI给开发一组动画实现的帧图...

  • Android中顶部UI阻挡底部UI点击事件

    Android中顶部UI阻隔底部UI点击事件 错误分析 今天接到一个bug: 在播放一个全屏webp动画时,竟然可...

  • Android动画总结

    Android动画的发展历程: 动画在UI开发中算比较重要的一块,合理正确地使用动画可以让你的产品体验更出色。这篇...

  • 网址收藏

    Tangram-Android UI布局 动画 技术小黑屋 Parcelable自动序列化 数据库realm Ev...

  • Android ui 属性动画详解

    首先什么是属性动画,与我们以前用的动画Animation有什么区别? 如下图,是Animation和Animato...

网友评论

    本文标题:Android UI:撒花动画

    本文链接:https://www.haomeiwen.com/subject/dvkucqtx.html