首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android自定义View实现简单炫酷的球体进度球实例代码

前言 最近一直在研究自定义view,正好项目中有一个根据下载进度来实现球体进度的需求,所以自己写了个进度球,代码非常简单。先看下效果: ? 效果还是非常不错的。...代码如下: public class MainActivity extends AppCompatActivity { private final int PROGRESS_MESSAGE = 0;...} } }).start(); } } 上面代码在inAction()中开一个线程,每隔100毫秒发送消息,在handler中处理更新,在handler使用中并没有直接重写hanldeMessage...源码地址:进度代码 带波浪的进度球 上面已经实现了简单的进度球,但是效果不是很好,根据评论区中的提议加上动画和贝塞尔曲线波纹实现了下面的效果,只取了进度处于某一固定进度动画效果如图: ?...,通过stop()来结束动画

95940

原生 js 实现一个有动画效果的进度条插件 progress

github.com/biaochenxuying/progress 效果体验地址: https://biaochenxuying.github.io/progress/index.html 原理 一个用于装载进度条内容的...然后在 container 里面动态生成三个元素,一个是做为背景的 div (且叫做 progress),一个是做为显示进度的 div (且叫做 bar),还有一个是显示文字的 span (且叫做 text...bar 的宽从 0 逐渐增加到的 target 值的过程( 比如: 0 > 80 ),给这个过程添加一个逐渐加快的动画。...代码实现 具体的过程请看代码: (function() { function Progress() { this.mountedId = null; this.target = 100...bar 占比的 dom 对象 * @param text 文字的 dom 对象 * @param target 目标值( Number ) * @param step 动画步长

2.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    不到30行代码实现一个酷炫H5全景

    所以,最好全景呈现方式是球体全景,360度无死角,本文将以球体全景来讲解。...ThreeJS是Three(3D)+JS(JavaScript),它封装了底层的WebGL接口,使得我们能够在不了解图形学知识的前提下,也能用简单的代码实现三维场景的渲染。...球体全景所需的图片素材(下图):宽是高的两倍,数值是2的整数倍最好,建议图片宽高为2048px*1024px(后面实现全景会用到哈) ? image.png 具体代码实现: <!...(Scene) 第二步:创建一个球体,并将全景图片贴到球体的内表面,放入场景中 第四步:创建一个透视投影相机将camera拉到球体的中心,相机观看球体内表面 第五步:通过修改经纬度来,改变相机观察的点...Jietu20210527-172203-HD.gif 至此,我们全景制作已经完成了,(只统计js代码:共_28行_代码,我才不是标题党呢??)。

    2.4K40

    移动端圆环进度动画方案(透明背景-透明度圆环-css3版)

    ,上代码就搞定。...所以对于大于50%的圆环旋转动画,是需要两段动画拼接的,左半边的圆环先旋转180度到右半边,右半边的圆环再旋转相应的度数至左半边,这里旋转角度不是固定的,需要根据具体进度确定,所以这种方案右半边的圆环旋转多少度是通过...js赋值的,那么问题来了,当我们在pc上看到流畅的旋转动画时,在安卓手机上,两个半圆环动画的衔接处,有时差!...思考下第一版方案失败的根本原因,就是整个圆环进度是由两个半圆环分别动画形成的,右侧圆环的旋转角度不是固定的,使用transition实现需要通过js动态添加旋转角度样式,js语句的执行使得两个圆环执行动画的时间差无法确定...css固定实现的,而左半侧的可视区域是由js代码控制的,这样无任何时差问题 var degree = 75; document.getElementById("left-outter-patch

    1.5K30

    移动端圆环进度动画方案(透明背景-透明度圆环-css3版)

    ,上代码就搞定。...所以对于大于50%的圆环旋转动画,是需要两段动画拼接的,左半边的圆环先旋转180度到右半边,右半边的圆环再旋转相应的度数至左半边,这里旋转角度不是固定的,需要根据具体进度确定,所以这种方案右半边的圆环旋转多少度是通过...js赋值的,那么问题来了,当我们在pc上看到流畅的旋转动画时,在安卓手机上,两个半圆环动画的衔接处,有时差!...思考下第一版方案失败的根本原因,就是整个圆环进度是由两个半圆环分别动画形成的,右侧圆环的旋转角度不是固定的,使用transition实现需要通过js动态添加旋转角度样式,js语句的执行使得两个圆环执行动画的时间差无法确定...css固定实现的,而左半侧的可视区域是由js代码控制的,这样无任何时差问题 var degree = 75; document.getElementById("left-outter-patch

    1.5K80

    wow~ 让网站动起来的动画库,真漂亮,再也不用写复杂的动画代码了~wow.js

    前言 越来越多的网站特效很漂亮,其中就有一种我很喜欢的动画,就是当滑动到某个元素的时候,元素就是出现动画效果,如:缩放、旋转、滑动等。...感觉很漂亮,之前在做企业站的时候,基本上都是自己手写的,有点麻烦而且效果也不是很好,最近发现了一款比较好用的动画库~~~~wow.js,可以轻松的网站具有这种特效。...感受一下吧 安装使用 Wow.js动画效果依赖于第三方库,官方推荐的是:Animate.css 当然也可以使用其它的动画库,需要配置一下 wowo.js。...引入动画库 引入并且使用 wow.js </script...总结 wow.js 是一款不错的js特效库,可以方便的给元素添加上滑动出现的效果。大大提高了网站的美观和交互性,并且降低了开发时间和成本。

    1.7K10

    CSS3、JS 探索三维粒子

    这种类型的动画可能非常适合页面加载器。 这套演示使用three.js和easing探索三维粒子动画。 这些演示中的所有粒子和形状都是由三个基本的几何体/材质/网格组成,如球体,线条和盒子。...我希望这能激发你制作你自己的3D粒子动画! three.js 和 3D 环境的优势 这些动画大部分可以与SVG或2D Canvas等大致相当。...但是,在3D视角中添加细微的动画和定位将使其生动起来。使用three.js / WebGL也有性能优势。这些动画只是抓住了three.js的能力。...我的目标是显示一组基本的粒子运动能达到什么效果,而最小的是three.js的弯曲。 调试模式:网格,相机和时间刻度 要进入调试模式,请单击右上角的调试图标。...当它们撞击时,会形成一个带有环的涟漪物体,并形成一个影响粒子位置和不透明度的不可见球体。 6: 旋转风扇 这个演示展示了三条形成浅锥形的粒子线。每个粒子都有一条随机长度的弧线。

    4K10

    Unity Demo教程系列——Unity塔防游戏(六)动画(Lively Enemies)

    在此配置中向敌人添加一个可序列化的字段,然后为所有敌方预制件提供对我们单个动画配置资产的引用,因为我们的动画可同时用于立方体和球体。 ? ?...(弹跳的敌人) 中等立方体最终以锁定步幅进行动画处理,因为它们每秒刷新一次,这与动画持续时间相匹配。 为什么代码补全不能为Playables提供有用的文档?...4.2 进度化过渡 每次游戏的Update都需要进行过渡,因此请向EnemyAnimator添加公共GameUpdate方法。用时间乘以某种过渡速度来增加进度。...否则,使权重分别等于进度和1减去进度。 ? 仅当正在进行过渡时才需要这样做。我们可以使用进度值为-1表示没有过渡。 ?...我们仅在编辑器中需要它,因此我们可以使代码成为条件语句。 ? 要在热重载后恢复动画状态,我们需要创建一个新的视图。

    2.3K20

    Three.js可视化企业实战WEBGL网-2024入门指南

    Three.js 重要组件和模块Three.js 是一个功能强大的 JavaScript 库,用于在 Web 浏览器中创建和显示动画 3D 图形。...它的丰富 API 和模块化设计使得开发者可以轻松构建复杂的 3D 场景和动画效果。本文将详细介绍 Three.js 中的一些重要组件和模块,包括场景、相机、几何体、材质、光源、渲染器和控制器等。1....Three.js 提供了多种内置几何体,如立方体、球体、平面、圆柱体等。...BoxGeometry创建一个立方体几何体:const geometry = new THREE.BoxGeometry(1, 1, 1);JAVASCRIPT3.2 SphereGeometry创建一个球体几何体...动画循环 (Animation Loop)为了创建动画效果,需要在渲染器中添加一个动画循环,不断更新场景并重新渲染。

    11900

    硬核看房利器——Web 全景的实现

    图片来源:Creating a WebGL Earth with three.js 球体的切片方式与地球经纬度的划分方式一致,在南北纬90度的位置会出现若干个三角平面汇聚的情况,因此贴图在此处会出现放射状纹理...file=/src/PanoScene.js 到这一步为止,整个三维场景其实已经建立好了,接下来我们往里放元素。在这个场景里我们需要的是球体元素,阿三中对应的对象为 SphereGeometry。...基于 WebGL 的其他框架 除了阿三,市面上还存在一种框架,将三维场景的元素封装为 HTML 标签,提升代码可读性。...这是因为这样的动态方式违背了动画十二原则中的渐快与渐慢(Slow in and slow out)原则,在场景动画起始与结束时急起急停,缺乏过渡。...file=/src/Pano.js ThreeJS 场景 在阿三场景中,我们需要改变的是摄像机聚焦点的位置,又或者将摄像机聚焦点固定在球体中心,移动摄像机的位置。

    2.1K30

    web网站使用three.js来绘制三维图形

    提供了一系列基础几何体,例如立方体、球体和圆锥体。...下面代码是如何创建一个立方体的示例: ```javascript const geometry = new THREE.BoxGeometry(1, 1, 1); // 创建一个立方体几何体,边长为1...将立方体添加到场景中 ``` # 四:渲染循环 ```javascript function animate() { requestAnimationFrame(animate); // 请求下一帧动画...cube.rotation.y += 0.01; renderer.render(scene, camera); // 渲染场景和相机视图到屏幕上 } animate(); // 开始动画循环...从基础的几何体(如立方体、球体等)到复杂的模型加载(支持多种格式,如FBX、OBJ、GLTF等),再到材质、纹理、阴影、光照、动画等高级特性的应用,Three.js都能提供全面的支持。

    14510

    做了N+1个企业项目之后, 我总结了这些React必备插件

    Google的Material Design规范的React组件 React Virtualized 一个能渲染大型列表和表格的React解决方案 Fabric UI 微软开源的UX框架的集合,用于创建共享代码...react-desktop与NW.js和Electron.js完美结合,但是可以在任何JavaScript驱动的项目中使用 Zent 有赞 PC 端 WebUI 规范的 React 实现,提供了一整套基础的...react-copy-to-clipboard 基于React的复制到剪切板组件 qrcode.react 基于React的生成二维码的组件 nprogress 适用于YouTube,Medium等的顶部进度条组件...动画/动效果 ?...提供了单项,组合动画,以及整套动画解决方案 scenejs 基于JavaScript和CSS时间轴的动画库 react-text-loop 文字轮播动画 6.

    2K10

    调整 z-index,优化动画性能

    在内存和 CPU、GPU 处理能力尚且比不上 PC 的大多数移动设备上,性能自然就差了。跳坑的方法就是一句:减少复合层的出现。...Mac 上的开启路径是 cmd+alt+I > ESC: 01.gif 02.png 动画过程非常简单,分为四步: 1. 进度条增长 2. 当前等级位置高亮 3. 文案弹出 4....以进度条为例,根据规则7+规则8可以推出以下元素,也会有复合层,然而它们其实是静态的并不需要放进复合层里: 1. 进度条的父级元素 – 进度条容器; 3....06.png 07.gif 其他 上面是分析了页面上的第一个出现的动画,有木有发现,复合层的出现很像 js 的冒泡过程,而我们要做的就是尽可能的阻止动画的“冒泡”。...动画元素的父级 z-index 要高于它(父级)的同级元素 彩蛋 “等级标志肯定会在进度条的上面,所以这个复合层是没法避免了”,真的吗?

    1.8K30

    【带着canvas去流浪(11)】Three.js入门学习笔记

    Three.js中的基本概念 官方文档中的新手示例过于简单,所以本节对Three.js中的概念进行一些补充描述: 客观三要素:场景Scene,相机Camera,渲染器Renderer 具体用法可以看官方文档的...THREE.js中内置了包含立方体,球体,多面体数十种常见的几何体,也可以将canvas绘制的平面图形拉伸成为实体。...贴图纹理Texture 第三步是为实体选择贴图纹理texture,纹理通常是通过引入图片来生成,通过贴图可以让几何体呈现为它所代表的实体模型,比如一个球体,你贴上足球的纹理,它就是足球,贴上篮球纹理,...实体Object 大多数博文的示例中只使用到了Mesh(网格实体)这一种类型的实体模型,实际上THREE.js中还提供了Points(粒子点集实体),Line(线性实体),Skeleton(骨骼动画实体...第46节-关于将svg拉伸为实体 原文中提到的transformSVGPathExposed函数和官方代码仓lib里的脚本已经找不到了,新版的官方文档中已经听过了SVGLoader来完成svg到shape

    3.9K10

    Three.js 粒子系统学习小记:礼花效果实现

    Three.js提供了各种的粒子系统创建方式。从官网例子的demo来看,可以总结分为两类,分别是Points和Sprite。...size, map: sprite, blending: THREE.AdditiveBlending, depthTest: false, transparent : true } ); 从上面的代码可以看到...group.add(particle); } 飞线动画实现 在每一帧的render中,判断每个粒子的y坐标小于一定值时,以不同的速度按照正弦曲线的轨迹向上运动,形成飞线动画的效果。...,得到球体的总顶点数作为粒子的总数,用tweenMax设置了每个粒子在绽放到最大时的位置,即了相应的球体的顶点位置再增减一些随机数,并设置随机的绽放时间,来达到错落有致的效果。...《Three.js开发指南》 谢谢阅读,如有问题请各位大大指正!

    20K43

    基于 HTML5 + WebGL 的无人机 3D 可视化系统

    预览地址:http://www.hightopo.com/demo/Drones/ 实现过程 加载界面采用 2D 拓扑组件进行绘制,全矢量化图标,与传统的 png、jpg 等格式的图片相比,完美适配移动端、PC...动画过程采用产品提供的动画函数 ht.Default.startAnim 来驱动图形属性值的改变,应用其 Time-Based 的方式,只需要指定动画周期 duration 的毫秒数,由系统去计算帧数或...action 函数被调用的次数,以保证更加高效、平滑的进行动画过程。...加载界面中通过动态改变图形的属性值来展现加载进度,加载完毕后通过动画的 finishFunc 调用 hidden2d 方法来改变图形的透明度,在此之后通过 moveCamera 将场景内视角拉近,从而实现淡出到淡入的效果...在系统中线框状态的无人机则是像图中左侧的球体这样生成的,如果我们将图形的透明度调为 0,则只显示线框的样式。 ? 内部结构 ?

    79810

    【玩转 Cloud Studio】五分钟搭建个人酷炫3D博客(含源码)

    而这一切的基础,是 Three.js 的 WebGLRenderer 类,它把我们的代码转换成 GPU 中的数据,浏览器再将这些数据渲染出来。场景中的物体,也叫Mesh。...然后是动画,为了实现动画,渲染器(renderer)通常使用requestAnimationFrame()方法,以每秒60次的频率将场景更新绘制在canvas上。...下面是我代码中的一个片段,显示了如何创建物理引擎循环以及如何将它添加到Three.js的sphere球体中。...let quat = {x: 0, y: 0, z: 0, w: 1}; let mass = 3; //three.js相关代码 //创建球体并添加到场景中...ini复制代码// 在坐标平面上保持对当前球体运动的跟踪let moveDirection = { left: 0, right: 0, forward: 0, back: 0 };//控制器div在屏幕上的位置坐标

    43.8K62212
    领券