Android 椭圆轨迹动画

RotateAnimation:按钮沿着圆形的轨迹移动动画效果 RotateAnimation 按钮沿着圆形的轨迹移动动画效果 使用说明: //首先,实例化动画视图,设置视图尺寸位置和视图里的旋转按钮的宽高。 RotateAnimationView *rotateAnimationView = [RotateAnimationView rotateAnimationViewWithFrame:self.view.bounds rotateItemSize:CGSizeMake(60, 60)]; //设置背景图片 rotateAnimationView.animationViewBackgroundColor = [UIColor whiteColor]; //设置中心圆形的图像视图图片 rotateAnimationView.centralFigureImage = [UIImage imageNamed:@"sun"]; //设置动画视图代理方法 立即下载

用Path属性记录椭圆的轨迹:

        Path path = new Path();
        RectF rectF = new RectF(left, top, right, bottom);
        path.addOval(rectF, Path.Direction.CW);

API21以上可直接用属性动画里的方法(5.0以上)
        ObjectAnimator traslateAnimator = ObjectAnimator.ofFloat(imageView, "x", "y", path);
        traslateAnimator.start();

如果API为21以下就要通过PathMeasure:

package com.wyt.hcy.trajectoryanimationdemo;


import android.animation.ObjectAnimator;
import android.graphics.Path;
import android.graphics.PathMeasure;
import android.graphics.RectF;
import android.util.Log;
import android.widget.ImageView;

import com.nineoldandroids.animation.ValueAnimator;


/**
 * Created by hcy on 2017/7/14 0014.
 * <p>
 * func 动画工具类
 */

public class AnimationUtils {


    private static float[] mCurrentPosition = new float[2];

    /**
     * 圆形轨迹动画
     */

    public static void circleAnimation(float left, float top, float right, float bottom, final ImageView imageView) {
        Path path = new Path();
        RectF rectF = new RectF(left, top, right, bottom);
        path.addOval(rectF, Path.Direction.CW);
        final PathMeasure mPathMeasure = new PathMeasure(path, true);
        
        ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, mPathMeasure.getLength());

        valueAnimator.setDuration(5000);

        valueAnimator.setRepeatCount(ValueAnimator.INFINITE);

        valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                // 当插值计算进行时,获取中间的每个值,
                // 这里这个值是中间过程中的曲线长度(下面根据这个值来得出中间点的坐标值)
                float value = (Float) animation.getAnimatedValue();
                Log.i("Value::", value + "");
                // ★★★★★获取当前点坐标封装到mCurrentPosition
                // boolean getPosTan(float distance, float[] pos, float[] tan) :
                // 传入一个距离distance(0<=distance<=getLength()),然后会计算当前距
                // 离的坐标点和切线,pos会自动填充上坐标,这个方法很重要。
                mPathMeasure.getPosTan(value, mCurrentPosition, null);//mCurrentPosition此时就是中间距离点的坐标值
                // 移动的商品图片(动画图片)的坐标设置为该中间点的坐标
                imageView.setTranslationX(mCurrentPosition[0]);
                imageView.setTranslationY(-mCurrentPosition[1]);
            }
        });
        valueAnimator.start();
    }
}


三菱 FX5U PLC 4轴程序 控制松下伺服3个, 步进电机一个 三菱 FX5U PLC 4轴程序。 控制松下伺服3个, 步进电机一个, 四轴自动堆垛码垛设备程序, 回原点动作用专用的原点回归指令写的, 手动运行用三菱相对定位指令写的 , 自动运行用绝对定位指令写的取料运行, 表格定位写的自动放料运行, 设备各种报警异常都有写出 程序每一步都有注释。 包括PLC程序、显控触摸屏 程序、松下伺服驱动器接线图。 程序内都有IO注释 编号:4816635519484681汇美0808 ... 阅读详情

相关推荐

基于FPGA的图像预处理系统(图)

 北京机械工业学院 韩娟娟 邓文怡 娄小平 由于获取图像的工具或手段的影响,使获取图像无法完全体现原始图像的全部信息。因此,对图像进行预处理就显得非常重要。预处理的目的是改善图像数据,抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征。通常根据预处理目的的不同,把预处理技术归为图像增强技术和图像分割技术两类。图像对比度处理是空间域图像增强的一种方法。由于图像灰度范围狭窄会使

lyzhangxianglove的专栏 1779

Android:自定义沿着曲线轨迹移动

实现这样的一个需求,最主要的是曲线的绘制,和如何设置移动的icon轨迹,这两部分攻克之后,这个需求也就完成了。

知足常乐 2710

ADS 2013安装教程

1.2013和2014安装过程是一样的,运行ads2013_06_shp_windows文件进行安装 2.点击“NEXT”。 3.选择I accept,然后点击“NEXT”。 4.选择“complete”,然后点击“NEXT”。 5.选择安装路径,最好默认安装路径,安装路径不要有中文,然后点击“NEXT”。 6.点击“NEXT”. 7.如下路径默认安装,然后点击“NEXT”。 8.点击“NEXT”。 ...

谢谢关注“小鱼教你模数电”,各平台同号 6007

android 椭圆轨迹旋转,GitHub - chenxin185/3dViewAndroid: 一个简单的旋转ViewGroup,可以让其子view围绕椭圆轨迹旋转,并且可以自定义速度插值器,让其...

3dViewAndroidnote:这是一个简易的可以旋转的自定义ViewGruop,可以自定义Interpolate来做变速旋转。demo,第一个是匀速的,第二个是变速的(图片加载的有点慢)usage:引用:首先在项目的 build.gradle->allproject->repositories中加入:allprojects {repositories {maven { url '...

weixin_35840528的博客 460

RNA-Seq数据分析实战:从FastQC到STAR比对的完整流程(附避坑指南)

本文提供了RNA-Seq数据分析从FastQC质控到STAR比对的完整实战流程与避坑指南。详细解读了FastQC/MultiQC报告的关键指标,并重点阐述了STAR比对工具的核心参数设置、索引构建及性能优化策略,旨在帮助用户获得准确可靠的比对结果,为下游基因表达分析奠定坚实基础。

weixin_29290259的博客 92

Axial Attention 和 Criss-Cross Attention及其代码实现

Axial Attention 和 Criss-Cross Attention及其代码实现 ​ 文章目录Axial Attention 和 Criss-Cross Attention及其代码实现1 Criss - Cross Attention介绍1.1 引言1.2 理论实现1.2.1 获取权重A1.2.2 Affinity操作1.3.3 全部信息获取1.3 代码实现1.3.1 官方实现1.3.2 纯pytorch实现2 Axial Attention 介绍2.1 引言2.2 理论实现2.3 代码实现2.3

fzl的博客 2万+

android 椭圆轨迹旋转,css实现椭圆轨迹旋转

image.pngX轴Y轴在一个矩形内移动做斜线运动.ball {position: absolute;animation:animX 2s linear infinite alternate,animY 2s linear infinite alternate}@keyframes animX{0% {left: 0px;}100% {left: 500px;}}@keyframes ani...

weixin_39820244的博客 271

智能车图像处理21-进阶篇13--正入十字补线2

这篇文章主要的正入十字补线与1基本相同,主要防止图像中双十字的问题。

taiyuezyh的博客 2028

第10章 CustomView Android画布

除了重写onDraw()、dispatchDraw()函数,还可以通过以下方法获得画布: ●通过Bitmap创建。 ●通过SurfaceView的SurfaceHolder.lockCanvas()函数获取。 另外,通过创建Drawable对象,然后将画好的Drawable对象画在画布上,也是创建Bitmap的一种方式。 public abstract class DrawableextendsObject java.lang.Object ↳ android.graphic...

itzyjr的专栏 952

【29】软考软件设计师——SQL语句编写与优化深度精讲|数据库大题延伸满分攻略

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第29篇,承接第28篇ER图转关系模式核心内容,作为**下午第2题数据库大题核心延伸必考模块**,单模块累计占分5~8分,是数据库板块性价比极高的提分重点。全文超4000字深度拆解软考全部SQL高频考点:全覆盖多表连接底层逻辑、嵌套子查询分类实操、GROUP BY分组聚合硬核规则、索引全品类设计原理、联合索引最左匹配底层机制,搭配海量可直接复刻的考场SQL模板、历年真题完整改写案例、索引失效场景实操复盘、慢查询优化落地技巧。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 524

数控系统(CNC)系列:Hurco VMX42SR_(11).加工准备流程

在开始使用Hurco VMX42SR进行加工之前,首先需要对机床进行初始设置。这包括机床的水平调整、电源连接和控制系统的基本配置。正确的初始设置是确保加工精度和机床安全运行的前提。

2401_87715305的博客 841

android百度地图运动轨迹demo,Android百度地图画运动轨迹和GPS定位

【实例简介】这是我做软酷实训项目时的一个功能,是在地图上画出运动轨迹。运行软件时要记得打开GPS哦,还有在户外哦,【实例截图】【核心代码】jkBaiduMap└── jkBaiduMap├── AndroidManifest.xml├── bin│ ├── AndroidManifest.xml│ ├── classes│ │ └── com│ │ └── exam...

weixin_31942999的博客 739

AgentScope Java 2.0 项目实战:使用AgentScope Builder 构建企业级多租户 AI Agent 平台

本文基于 AgentScope Builder 源码深度分析,系统讲解多租户 AI Agent 构建平台的完整开发流程。涵盖 Spring Boot 3.x + WebFlux 后端架构、React 18 + TypeScript 前端实现、HarnessAgent 运行时、CompositeFilesystem 多租户隔离、SSE 流式对话、6 种 IM 渠道接入(钉钉/飞书/企微/GitHub/GitLab)、Git 与 Nacos 技能市场、JWT 认证、Docker Sandbox 隔离等核心技术。

program哲学 718

椭圆轨迹的等待加载view--ParticleView

前两天在看《生活大爆炸》时,在片头看到这样一个动画(印象中看到过很多次),想起用在安卓等待加载的情景下好像还不错,于是尝试动手写这样一个等待加载的 废话不多说,先上效果

He.xj 1247

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

android 圆动画效果,Android实现任意绕圆或椭圆旋转的动画——SatelliteAnimator使用介绍...

话说实习也就快一个月了,虽然没干什么活,但是这几天总算是有一些可以写的东西。代码中应该还存在很多问题要修改,大神们请赐教,不胜感激。开始正题。关于Android实现任意绕圆或椭圆旋转动画,我称之为“卫星动画”,所以动画类也被称为SatelliteAnimtor。详细代码后附下载,这里就不贴出来了。这里讲一讲这个类的使用方法。一、最简单的使用方法先看效果: 首先是xml文件:xmlns:tools=...

weixin_29486701的博客 1441

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android custom view--实时太阳轨迹

代码实例 假装这里有个动图 大概有一个半⚪,表示从日出到日落这段时间,根据当前时间把☀绘制到合适的地方。但是⚪不好看,最后换成椭圆了。 attr.xml <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="SunTrack"> <!-- 背景椭圆短轴和长轴长 --> <attr name="oval_width" form

突破吧!次元壁 839

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Android动画之旅(一)----小球弹起动画

学习了一段时间安卓动画 有时间会整理一下,先暂时这样看吧.动画组成:1.主体是一个小球沿着运动轨迹做加速运动,然后设置循环,以及逆向播放.2.在小球下落到最底部的时候,小球会产生形变.变成椭圆3.在小球快要触底的时候,会产生阴影.(阴影也是椭圆)4.点击变色主要是画笔的绘制变色. 关键代码:package com.example.administrator.animationworkdemo.vi

余杭探险家 3890

android待机动画,Android 忆童年 DVD机待机 loading 动画

周末逛「即刻」开到这个消息,然后心生一计,我可以自己做一个 DVD 的 loading效果啊。什么?你不知道 DVD 是啥?呵呵,暴露年龄了。这是一个具有年代感的东西。你没看到过说明要么你年轻,年轻好啊。要么你家穷,我那会儿反正是租的碟片在同学家放,自己家买是不可能的了,一辈子都不可能。正式开始实现之前,开始简单的建模及分析。整体效果就是:一个圆或者矩形在一个大的矩形(类比电视屏幕)上面运动,撞...

weixin_32596893的博客 195

android待机动画,Android 忆童年 DVD 待机动画(补档)

image周末逛「即刻」开到这个消息,然后心生一计,我可以自己做一个 DVD 的 loading效果啊。什么?你不知道 DVD 是啥?呵呵,暴露年龄了。这是一个具有年代感的东西。你没看到过说明要么你年轻,年轻好啊。要么你家穷,我那会儿反正是租的碟片在同学家放,自己家买是不可能的了,一辈子都不可能。正式开始实现之前,开始简单的建模及分析。整体效果就是:一个圆或者矩形在一个大的矩形(类比电视屏幕)上面...

weixin_35208293的博客 150

Android---动画机制(四)----SVG

Google在android5.X中增加了对SVG矢量图形的支持,对高效率的动画具有非常重大的意义.path标签使用<path>标签创建SVG,就像用指令的方式来控制一直画笔类似.使用方法有以下几种: M=moveto(M X,Y) : 将画笔移动到某一坐标,未发生绘制 L=lineto(L X,Y) : 画直线到指定的坐标位置 H=horizontal lineto(H X):画水平线到指定的X坐

Panda_Program的博客 776

android圆周运动动画,android自定义view实现圆周运动

本文实例为大家分享了android自定义view实现圆周运动的具体代码,供大家参考,具体内容如下思想自定义Animation,自己定义半径,相当于原来控件的位置为(0,0),按照每个角度区间,计算新的位置,跟着时间变动逆时针转动public class VenusCircleAnimation extends Animation {private int radii;public VenusCir...

weixin_28701593的博客 538

android 椭圆轨迹旋转,Android 倾斜椭圆绘制方法

前言条件:1.只知道椭圆顶点坐标的情况下。2.椭圆不垂直X轴的情况下。类似上面的效果, 当然我的椭圆绘制的不太圆。要求:已知点a,点b,点c,点d坐标。绘制完整椭圆问题1.Android 的椭圆绘制都是基于已知矩形,并作矩形的内切圆的方式进行绘制的。2.系统提供的API方法之中,都要求了该矩形必须垂直于X。 不能满足倾斜的情况。解决方案1.连接点a和点c,采用三角函数算法,得到距离2.连接点b与点...

weixin_35851515的博客 1183

Android 椭圆路径 长按暂停动画的实现

最近在做一个长按暂停的动画控件,实现的效果是这样,定义一个矩形椭圆动画效果的的按钮。效果如下:

desireyao的专栏 1542

android 椭圆轨迹旋转,css3实现椭圆轨迹旋转

最近需要实中比需抖接朋功要朋插现如下效果最开始享器哈班其础件事是架考发求关通互面待需了用css3D旋转写,只能实现如是能览调不页新代些事几求事都时学下是事功过下效果没办法把所有的圆转向正面,不知道是我的操作不对,还是3d旋转无法实现,有知道的大佬还请赐教啊没插新,都次过是宗现制的前搭待个断前能绿和法用3d实现只能转向2d了,只要实现按椭圆旋转直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如数...

weixin_36160969的博客 667

android svg路径动画,五、Android SVG动画

SVG的全称是Scalable Vector Graphics(可缩放矢量图形),它不会因为图像放大而失真,且占用内存小,同时搭配Path动画,能够实现一些意想不到的效果。Android中的SVG图像又叫Vector图像,它是对原生的SVG进行了简化,利用path来实现绘制。1、VetcorDrawable1.1、Vector图形制作我们可以在svg编辑网页上制作好SVG图像,然后通过Androi...

weixin_39775896的博客 635

《每周一点canvas动画》——圆周运动

接《每周一点canvas动画》——波形运动 圆周运动可以分为两种基本的形式:正圆运动和椭圆运动。在讲解圆周运动之前,必不可少的数学公式即将袭来。so,各位骚年们,请护好自己的膝盖。听不懂没关系,只要明白其中的原理就行。当然,能懂是最好的,这对后面学习高级动画是很有帮助的。好吧,废话少说直接上菜。 1.正圆运动 一般情况下,圆的直角坐标方程...

weixin_34204057的博客 352
上一篇: Android 用surfaceview模拟帧动画的效果,解决帧动画的OOM问题
下一篇: Android 链接Wifi
泡温泉的咸鱼
博客等级 码龄11年 39粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值