登录
首页 » Android » Android 水波风格圆形进度条

Android 水波风格圆形进度条

于 2022-02-14 发布 文件大小:570.78 kB
0 146
下载积分: 2 下载次数: 1

代码说明:

Android制作水波动画效果的圆形进度条,下面是相关的定义代码:   private Paint mPaint; //绘制波形   private Paint mCirclePaint; //绘制圆形   private Path mPath; //记录波形的路径   private int width; //自定义view的宽度   private int height; //自定义view的高度   private int mCirclePaintRadius; //绘制圆形的半径   private int mStepSize; //绘制波形的完整周期的宽度   private int mMoveStartX; //绘制波形的初始位置,相当于震动的频率   private int mSinMax; //绘制波形的振幅   private int count = 3; //需要绘制完整波形的个数,个数越多,波形的周期越小   private Canvas mCircleCanvas;   private Bitmap mDest;   private int mCurrentProgress; //当前的进度   private boolean shouldChange; //用于控制正弦线的上升和下降   private Paint mTextPaint;   super.onDraw(canvas);   //线绘制一个实心圆   mCircleCanvas.drawCircle(width / 2, height / 2, mCirclePaintRadius, mCirclePaint);   //每次绘制记得调用reset()方法,否则当前绘制会和上次的绘制重叠   mPath.reset();   //下面的moveTo,lineTo,lineTo,lineTo主要是让当前正弦线的首位相接

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • “动物饲养员”游戏源码
    “动物饲养员”游戏是一个使用2D游戏引擎AndEngine开发的,好玩的入门级游戏。
    2023-08-05 05:05:04下载
    积分:1
  • Modbus Tcp/ip
    Android端通过Modbus Tcp/Ip 连接PLC,并且获取PLC数据,用AndroidStudio打开配置好ip和端口号可以直接连接使用,移动端与plc要在同一个ip段才行
    2022-02-02 16:45:21下载
    积分:1
  • Android应用源码之[安卓开源]GuideViewDemo(超炫丽用户引导).rar
    【实例简介】
    2021-10-05 00:31:04下载
    积分:1
  • 圆形菜单
    能够展开、收起的菜单特效!能直接运行。值得借鉴收藏!
    2022-03-05 04:00:40下载
    积分:1
  • 基于Openfire的andriod端 聊天系统
    本系统是基于openfire 的 andriod端的程序,程序实现了基本的聊天功能,是个很好的例子,适合初学者
    2022-05-08 12:57:42下载
    积分:1
  • Android Settings 5.0源码
    应用背景Android设置源码,Android设置源码,Android设置源码,Android设置源码,Android设置源码,Android设置源码,Android设置源码,关键技术   安卓设置的源码,5.0版本,在eclipse下加入适当的jar包后可运行 安卓设置的源码,5.0版本,在eclipse下加入适当的jar包后可运行 安卓设置的源码,5.0版本,在eclipse下加入适当的jar包后可运行
    2023-09-02 09:35:06下载
    积分:1
  • android open gl 示例代码下载
    [实例简介]Open GL 入门级示例 [实例截图] [核心代码]package com.china.gltry;import javax.microedition.khronos.egl.EGL10;import javax.microedition.khronos.egl.EGL11;import javax.microedition.khronos.egl.EGLConfig;import javax.microedition.khronos.egl.EGLContext;import javax.microedition.khronos.egl.EGLDisplay;import javax.microedition.khronos.egl.EGLSurface;import javax.microedition.khronos.opengles.GL;import android.view.SurfaceHolder;/** * An EGL helper class. */public class EGLHelper{ public EGLHelper() { } /** * Initialize EGL for a given configuration spec. * @param configSpec */ public void start(int[] configSpec){ /* * Get an EGL instance */ mEgl = (EGL10) EGLContext.getEGL(); /* * Get to the default display. */ mEglDisplay = mEgl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY); /* * We can now initialize EGL for that display */ int[] version = new int[2]; mEgl.eglInitialize(mEglDisplay, version); EGLConfig[] configs = new EGLConfig[1]; int[] num_config = new int[1]; mEgl.eglChooseConfig(mEglDisplay, configSpec, configs, 1, num_config); mEglConfig = configs[0]; /* * Create an OpenGL ES context. This must be done only once, an * OpenGL context is a somewhat heavy object. */ mEglContext = mEgl.eglCreateContext(mEglDisplay, mEglConfig, EGL10.EGL_NO_CONTEXT, null); mEglSurface = null; } /* * Create and return an OpenGL surface */ public GL createSurface(SurfaceHolder holder) { /* * The window size has changed, so we need to create a new * surface. */ if (mEglSurface != null) { /* * Unbind and destroy the old EGL surface, if * there is one. */ mEgl.eglMakeCurrent(mEglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT); mEgl.eglDestroySurface(mEglDisplay, mEglSurface); } /* * Create an EGL surface we can render into. */ mEglSurface = mEgl.eglCreateWindowSurface(mEglDisplay, mEglConfig, holder, null); /* * Before we can issue GL commands, we need to make sure * the context is current and bound to a surface. */ mEgl.eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext); GL gl = mEglContext.getGL(); return gl; } /** * Display the current render surface. * @return false if the context has been lost. */ public boolean swap() { mEgl.eglSwapBuffers(mEglDisplay, mEglSurface); /* * Always check for EGL_CONTEXT_LOST, which means the context * and all associated data were lost (For instance because * the device went to sleep). We need to sleep until we * get a new surface. */ return mEgl.eglGetError() != EGL11.EGL_CONTEXT_LOST; } public void finish() { if (mEglSurface != null) { mEgl.eglMakeCurrent(mEglDisplay, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_SURFACE, EGL10.EGL_NO_CONTEXT); mEgl.eglDestroySurface(mEglDisplay, mEglSurface); mEglSurface = null; } if (mEglContext != null) { mEgl.eglDestroyContext(mEglDisplay, mEglContext); mEglContext = null; } if (mEglDisplay != null) { mEgl.eglTerminate(mEglDisplay); mEglDisplay = null; } } EGL10 mEgl; EGLDisplay mEglDisplay; EGLSurface mEglSurface; EGLConfig mEglConfig; EGLContext mEglContext;}
    2015-04-06下载
    积分:1
  • Android 蓝牙串口调试助手源码
    这个是Android 蓝牙串口调试助手源码,亲测可以运行。欢迎大家下载、试用。谢谢大家的支持!
    2022-02-07 07:03:53下载
    积分:1
  • Android 制作超炫的汽车仪表盘动画效果
    Android 制作超炫、超逼真的汽车仪表盘动画效果,为了更好的演示效果,仪表盘在静态下,添加了一个滑动控制的按钮,当用户拖动该滑块向右拖动,仪表盘的指针和标尺会变色指向用户自定义的进度,并且适时显示时速状态,挺酷的效果。   这个仪表盘可以当作真正 的仪表盘,也可用来制作安卓手机个性化的Loading进度条效果,想一想,就觉得很酷哦。
    2023-02-18 05:25:03下载
    积分:1
  • Android
    2022-11-08 12:20:04下载
    积分:1
  • 696516资源总数
  • 106648会员总数
  • 8今日下载