自定义加速球效果

一个自定义控件:

地址:

git:https://github.com/guoGavin/CustomAccelerateBall

csdn:http://download.csdn.net/detail/jiguangcanhen/8687305

accelerate ball,加速球效果,也就是圆形的ProgressBar的效果。

效果图

录制效果不是很好

功能

  • 可以设置目标位置,让它自己加速到特定位置。
  • 可以设置不适用加速的动画效果,直接设置到特定位置。
  • 可以设置是否显示Percent。
  • 可以设置刷新速度,RefreshSpeed。
  • 可以设置加速动画涨幅,Speed。
  • 可以设置加速过程监听,每次变化监听回调,加速结束回调,AccelerateBallUpdateListener。

layout

<com.test.gavinguo.customaccelerateball.AccelerateBallView
        android:id="@+id/ball"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_marginTop="50dp"
        android:layout_gravity="center_horizontal"/>

展示类型

public enum GalleryType{
        NoneAnimationAndPercent,//没有动画和百分比文字
        NoneAnimationHavePercent,//没有动画但是有文本
        AnimationOnly,//只有动画
        AnimationAndPercent,//具有动画和百分比,default
    }

动画涨幅

public enum Speed{
        slow,//低速
        medium,//中速,default
        fast,//高速
        superFast,//超高速
        random,//随机速度
    }

刷新速度

public enum RefreshSpeed{
        slow,//低速
        medium,//中速,default
        fast,//高速
        superFast,//超高速
    }

过程监听

public interface AccelerateBallUpdateListener{
        /**
         * 每次变化
         * @param currentPercent 当前百分比
         */
        void updateLeveUp(int currentPercent);

        /**
         * 上涨结束调用
         * @param endPercent 结束时候的百分比
         */
        void endLeveUp(int endPercent);
    }

设置参数以及启动

  ball = (AccelerateBallView) findViewById(R.id.ball);
  ball.setSpeedType(AccelerateBallView.Speed.superFast);
  ball.setRefreshSpeedType(AccelerateBallView.RefreshSpeed.superFast);
  ball.setGalleryType(AccelerateBallView.GalleryType.AnimationAndPercent);
  ball.setAccelerateBallUpdateListener(new AccelerateBallView.AccelerateBallUpdateListener() {
      @Override
      public void updateLeveUp(int currentPercent) {
          //do nothing
      }

      @Override
      public void endLeveUp(int endPercent) {
          //do nothing
      }
  });
  start.setOnClickListener(this);
  ball.setTotalLevel(totalLevel);

Total可以不停的去设置,加速球最终会停止在最后设置的位置。

时间: 2024-10-12 12:28:30

自定义加速球效果的相关文章

仿360加速球。(实现内存释放)

FloatCircleView的实现自定义view 创建WindowManager窗体管理类管理悬浮小球和底部大窗体 MyProgreeView手机底部窗体中小球的实现 FloatMenuView的实现 MyFloatService MainActivity的实现 现在手机上的悬浮窗应用越来越多,对用户来说,最常见的悬浮窗应用就是安全软件的悬浮小控件,拿360卫士来说,当开启悬浮窗时,它是一个小球,小球可以拖动,当点击小球出现大窗体控件,可以进行进一步的操作如:释放手机内存等等.于是借着慕课网的

Android自定义控件水波加速球

通过上一篇的博客,相信你对Android中的坐标系和绘制刻度的实现原理有了一个认识(所以这一篇可能没有那么详细...),接下来就是另外一部分内容,如何去绘制水波加速球. 自定义View确定一个正方形 public class WaterView extends View { private int len; public WaterView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } @Ove

使用自定义材质球,实现NGUI屏幕溶解和灰显

UITexture实现的溶解: 重设UITeture的材质球实现上述效果,把当前屏幕渲染的Texture2D丢给UITexture,即可实现UI屏幕特效,背景模糊等都可以. 难点主要是实时刷新问题 解决的比较粗暴,每次Update重设材质球,强制NGUI更新: widget.material = null; widget.material = mat; 第二个是灰显: 实现灰显后,美术就不用出两套图片了 难点在于UISprite没有自定义材质球支持,网上有直接修改源码的,也有扩展的 自己实现的版

自定义ModalViewController 动画效果

iOS 7 自定义ViewController动画切换 自定义动画切换的相关的主要API 在深入之前,我们先来看看新SDK中有关这部分内容的相关接口以及它们的关系和典型用法.这几个接口和类的名字都比较相似,但是还是能比较好的描述出各自的职能的,一开始的话可能比较迷惑,但是当自己动手实现一两个例子之后,它们之间的关系就会逐渐明晰起来.(相关的内容都定义在UIKit的UIViewControllerTransitioning.h中了) @protocol UIViewControllerContex

[jQuery编程挑战]001:实现页面元素加速动画效果

要求: 页面包含两个HTML元素:一个按钮,一个小方块 动画要求:点击按钮,小方块从页面坐标300,300,加速移动到0,0 相关知识点: jQuery动画方法animate easing参数的设置 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8"> <title>实现页面元素加速动画效果</title> <styl

Android自定义类似ProgressDialog效果的Dialog

Android自定义类似ProgressDialog效果的Dialog. 方法如下: 1.首先准备两张自己要定义成哪样子的效果的图片和背景图片(也可以不要背景). 如我要的效果: 2.定义loading_dialog.xml布局文件(这里你也可以按自己的布局效果定义,关键是要有个imageView): [html] view plaincopy <?xml version="1.0" encoding="utf-8"?> <LinearLayout

【View】之【SimpleWaveView】可多色可刷新的加速球、进度球【demo】

当前版本:SimpleWaveView_v1.0.20140618 先看效果图,这个加速球是动态的,并且当调用了myView.setRefresh(0.8F);方法后可以从当前值动态降到0再升到80%,期间可以看到颜色的变化.颜色不是渐变的.本人不会弄动态图所以只有静态图片 = = 本进度球的优点: 1之前我用一张波浪图片不停的截取来做,结果在我的200M的虚拟机上渐渐的开始卡,并且系统不停的自动GC,所以就用了这种方式来做,大大优化了其对CPU和内存的压力. 值得一提的是,当其所属的父View

360安全卫士加速球误关闭某个应用软件

近期因为工作原因须要使用金山快盘.但因为之前电脑上安装了360安全卫士,在使用加速球功能的时候,会出现,误关闭金山快盘的操作,怎么避免呢? 1.打开360主界面.找到安全防护中心,例如以下图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamlhbmt1bmtpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 2.打开360安全防护中心

Android使用xml自定义软键盘效果(附源码)

Android使用xml自定义软键盘效果原理: 1,软键盘其实是个控件,使用android.inputmethodserver.KeyboardView类定义. 2,主布局中使用帧布局,当我们需要显示软键盘时设置为可见,不需要时设置为不可见. 3,编写xml文件,定义键盘内容.使用xml文件填充KeyBoardView布局 4,设置EditText的监听事件. 完成键盘开发. 上效果图: 1,源码研究android.inputmethodserver.KeyboardView: /* * Cop