电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android實現仿微軟系統加載動畫效果

瀏覽:23日期:2022-09-19 16:23:10
效果圖:

Android實現仿微軟系統加載動畫效果

實現步驟: 初始化五個圓球分別設置中心點,方便畫圓 利用ValueAnimator的值變化來獲取旋轉角度 onDraw來分別畫每個圓具體代碼實現:1、創建Circle對象

package com.sjl.keeplive.track;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PointF;public class Circle { private PointF center; private float radius; public Circle() {center = new PointF(); } /** * 設置圓球半徑 */ public void setRadius(float radius) {this.radius = radius; } /** * 設置中心點 * * @param x * @param y */ public void setCenter(float x, float y) {center.set(x, y); } public void draw(Canvas canvas, Paint paint) {canvas.drawCircle(center.x,center.y,radius,paint); }}2、自定義MinSoftLoadingView實現代碼

package com.sjl.keeplive.track;import android.animation.ValueAnimator;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PointF;import android.support.annotation.Nullable;import android.util.AttributeSet;import android.view.View;public class MinSoftLoadingView extends View { private int circleCount = 5; private Circle[] circles; private Paint paint; private int width; private int height; private PointF center; private float circleRadius; private float[] rotates; private float roateRadius; public MinSoftLoadingView(Context context) {this(context, null); } public MinSoftLoadingView(Context context, @Nullable AttributeSet attrs) {this(context, attrs, 0); } public MinSoftLoadingView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);paint = new Paint();paint.setAntiAlias(true);paint.setColor(Color.WHITE);//每個點旋轉的角度rotates = new float[circleCount]; } @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) {super.onLayout(changed, left, top, right, bottom);width = getWidth();height = getHeight();center = new PointF(width / 2.0f, height / 2.0f);//旋轉掃描半徑roateRadius = Math.min(width, height);//圓球最大的那個半徑circleRadius = roateRadius / 10.0f;initCircle(); } /** * 初始化5個圓球 */ private void initCircle() {circles = new Circle[circleCount];for (int i = 0; i < circleCount; i++) { circles[i] = new Circle(); circles[i].setCenter(center.x, center.y - roateRadius / 2 + circleRadius); circles[i].setRadius(circleRadius - circleRadius * i / 5);}//開始執行動畫startAnimation(); } private void startAnimation() {for (int i = 0; i < circleCount; i++) { final int index = i; ValueAnimator animator = ValueAnimator.ofFloat(0, 360); animator.setRepeatCount(ValueAnimator.INFINITE);//重復 animator.setDuration(2000); animator.setStartDelay(index * 100); //每一個隨后的延遲時間 animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {@Overridepublic void onAnimationUpdate(ValueAnimator animation) { rotates[index] = (float) animation.getAnimatedValue(); invalidate();} }); animator.start();} } @Override protected void onDraw(Canvas canvas) {super.onDraw(canvas);for (int i = 0; i < circleCount; i++) { canvas.save(); canvas.rotate(rotates[i], center.x, center.y); circles[i].draw(canvas, paint); canvas.restore();} }}3、布局文件中使用

<com.sjl.keeplive.track.MinSoftLoadingViewandroid:layout_width='60dp'android:layout_height='60dp'android:layout_gravity='center'/>

核心思想就是讓每個球出發的時間不同,這樣每個球鎖旋轉的位置也不同,就形成了一種視覺差!如果把* animator.setStartDelay(index * 100)*的時間改的大一些就可以看得更明顯了!

以上就是Android實現仿微軟系統加載動畫效果的詳細內容,更多關于Android 微軟系統加載動畫的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
主站蜘蛛池模板: 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | 泥沙分离_泥沙分离设备_泥砂分离机_洛阳隆中重工机械有限公司 | 手机存放柜,超市储物柜,电子储物柜,自动寄存柜,行李寄存柜,自动存包柜,条码存包柜-上海天琪实业有限公司 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 彩超机-黑白B超机-便携兽用B超机-多普勒彩超机价格「大为彩超」厂家 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 液压压力机,液压折弯机,液压剪板机,模锻液压机-鲁南新力机床有限公司 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 防火卷帘门价格-聊城一维工贸特级防火卷帘门厂家▲ | 内窥镜-工业内窥镜厂家【上海修远仪器仪表有限公司】 | 中红外QCL激光器-其他连续-半导体连续激光器-筱晓光子 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 高温高压釜(氢化反应釜)百科 | 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | 蒜肠网-动漫,二次元,COSPLAY,漫展以及收藏型模型,手办,玩具的新媒体.(原变形金刚变迷TF圈) | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 济南电缆桥架|山东桥架-济南航丰实业有限公司| 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 精密光学实验平台-红外粉末压片机模具-天津博君 | 神超官网_焊接圆锯片_高速钢锯片_硬质合金锯片_浙江神超锯业制造有限公司 | 亮点云建站-网站建设制作平台 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 专注提供国外机电设备及配件-工业控制领域一站式服务商-深圳市华联欧国际贸易有限公司 | 至顶网| 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 | 氢氧化钾厂家直销批发-济南金昊化工有限公司 | 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 |