GiftSurfaceView

Introduction: 直播间送礼物组合动画
More: Author   ReportBugs   
Tags:
gift-surfaceview-animation-

JitPack Download API License

GiftSurfaceView 最初出自于 2014 年开发 HalloStar 项目时所写,主要用于 HalloStar 项目直播间的送礼物动画。现在想来,那夕阳下的奔跑,是我逝去的青春。因高仿全民 TV 项目时想起,所以抽空整理了下,以此记录。

效果展示

gif

你也可以直接下载 演示 App 体验效果

引入

Gradle:

  1. 在 Project 的 build.gradlesetting.gradle 中添加远程仓库

     repositories {
         //...
         mavenCentral()
         maven { url 'https://jitpack.io' }
     }
    
  2. 在 Module 的 build.gradle 中添加依赖项

     implementation 'com.github.jenly1314:GiftSurfaceView:1.1.0'
    

使用

代码示例

    public void updateGiftSurfaceView(int type){

        frame.removeAllViews();

        GiftSurfaceView giftSurfaceView = new GiftSurfaceView(context);
        if(type == RANDOM){
            giftSurfaceView.setImageResource(R.drawable.rose);
        }else{
            giftSurfaceView.setImageBitmap(bitmap,.5f);
        }

        giftSurfaceView.setPointScale(1,width/10,(int)(height/3.8f));
        giftSurfaceView.setRunTime(10000);

        try {

            switch (type){
                case RANDOM:
                    giftSurfaceView.setRandomPoint(9);
                    break;
                case V:
                    giftSurfaceView.setListPoint(PointUtils.getListPointByResourceJson(context,ASSET_V),true);
                    break;
                case HEART:
                    giftSurfaceView.setListPoint(PointUtils.getListPointByResourceJson(context,ASSET_HEART),true);
                    break;
                case LOVE:
                    giftSurfaceView.setListPoint(PointUtils.getListPointByResourceJson(context,ASSET_LOVE));
                    break;
                case SMILE:
                    giftSurfaceView.setListPoint(PointUtils.getListPointByResourceJson(context,ASSET_SMILE));
                    break;
                case X:
                    giftSurfaceView.setListPoint(PointUtils.getListPointByResourceJson(context,ASSET_X));
                    break;
                case V520:
                    giftSurfaceView.setListPoint(PointUtils.getListPointByResourceJson(context,ASSET_V520));
                    break;
                case V1314:
                    giftSurfaceView.setRunTime(GiftSurfaceView.LONG_TIME);
                    giftSurfaceView.setListPoint(PointUtils.getListPointByResourceJson(context,ASSET_V1314));
                    break;

            }
            frame.addView(giftSurfaceView);
        } catch (IOException e) {
            e.printStackTrace();
        }


    }

更多使用详情,请查看app中的源码使用示例或直接查看API 帮助文档

相关推荐

  • FlutteringLayout 一个适用于直播间点赞桃心飘动效果的控件。
  • SpinCounterView 一个类似码表变化的旋转计数器动画控件。
  • CounterView 一个数字变化效果的计数器视图控件。
  • RadarView 一个雷达扫描动画后,然后展示得分效果的控件。
  • SuperTextView 一个在 TextView 的基础上扩展了几种动画效果的控件。
  • LoadingView 一个圆弧加载过渡动画,圆弧个数,大小,弧度,渐变颜色,完全可配。
  • WaveView 一个水波纹动画控件视图,支持波纹数,波纹振幅,波纹颜色,波纹速度,波纹方向等属性完全可配。
  • DragPolygonView 一个支持可拖动多边形,支持通过拖拽多边形的角改变其形状的任意多边形控件。
  • CircleProgressView 一个圆形的进度动画控件,动画效果纵享丝滑。
  • ArcSeekBar 一个弧形的拖动条进度控件,配置参数完全可定制化。
  • DrawBoard 一个自定义 View 实现的画板;方便对图片进行编辑和各种涂鸦相关操作。
  • compose-component 一个 Jetpack Compose 的组件库;主要提供了一些小组件,便于快速使用。

footer

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools