小鱼儿 上篇文章自定义Drawable实现灵动的红鲤鱼动画(上篇)我们绘制了可以摆动身体的小鱼,本篇就分享一下如何让小鱼游到手指点击的位置.用到的主要技术如下: 1).三阶贝塞尔曲线 2).Path的Measure 一.动画分析 小鱼的行走不是简单的位移,不难看出在小鱼位移的同时身体的角度还随着前进的方向而变化,所以本篇要解决如下两部分: 1).鱼身的位移 2).鱼身的旋转 3).点击处的水波纹 二.技术分析 1).鱼身的位移 上篇介绍自定义Drawable的时候分析了Drawable需要作…
此篇中的小鱼动画是模仿国外一个大牛做的flash动画,第一眼就爱上它了,简约灵动又不失美学,于是抽空试着尝试了一下,如下是我用Android实现的效果图:   小鱼儿 由于整个绘制分析过程比较繁琐所以灵动的红鲤鱼准备做成上下两篇,本篇是小鱼儿绘制的实现篇,第二篇是小鱼儿游动控制篇下篇传送门.本篇实现如下效果:   原地摆尾版 绘制实现篇用到如下主要的技术: 1).自定义Drawable动画 2).Android的坐标及角度 3).Canvas中layer的使用 4).正余弦函数的使用以及角度角和…
前言 上一篇文章<Canvas 仿百度贴吧客户端 loading 小球>实现了百度贴吧客户端的 loading 小球效果,同时还留下了一个任务:实现灵动的红鲤鱼动画. 这个动画效果实现起来比较难,需要良好的数学基础.而中学时学到的三角函数知识,早就还给数学老师了.现在一边练习一边写这篇文章,并不能保证最后能实现这个动画效果. 实现过程 第零步:绘制重心 画出鲤鱼的重心.为了方便看效果,以重心为原点,绘制了两条简单的坐标轴. <!DOCTYPE html> <html lang…
本文由 伯乐在线 - treesouth 翻译,toolate 校稿.未经许可,禁止转载! 英文出处:ryanharter.com.欢迎加入翻译小组. 我们看过一些博客文章,讲述了为什么要适时地使用自定义的view,以及它们是如何帮你正确地封装应用代码的.却少有人讨论这类思考如何转变为我们的app中与view无关的其它部分. 在我开发的应用程序Fragment里,在一些地方我使用自定义的Drawable封装我的逻辑代码,就像使用自定义view一样.代码放在Gist! 用例 在Fragment中,…
P4773 红鲤鱼与绿鲤鱼 暑假比赛的一个水题 总情况数:\(\dfrac{(a+b)!}{a!b!}\) 就是\(a+b\)条鲤鱼中选\(a\) or \(b\)的情况 反正我们会用完鲤鱼,则红鲤鱼的罚时一定会全部累加 所以初始时间和为\(5(a+(a+b+1))\dfrac{(a+b)!}{a!b!}\) 绿鲤鱼怎么计算时间呢? 是现在完成的时间,显然,这与它所处的位置有关 绿鲤鱼在每一个位置上概率相同,总次数自然也是相同的:\(\dfrac{b}{a+b}\dfrac{(a+b)!}{a!…
版本:2018/2/11 Drawable的分类 自定义Drawable SVG矢量图 个人总结的知识点外,部分知识点选自<Android开发艺术探索>-第六章 Drawable 1.Drawable是什么? 一种可以在Canvas上进行绘制的抽象的概念 颜色.图片等都可以是一个Drawable Drawable可以通过XML定义,或者通过代码创建 Android中Drawable是一个抽象类,每个具体的Drawable都是其子类 2.Drawable的优点 使用简单,比自定义View成本低…
Android特效专辑(五)--自定义圆形头像和仿MIUI卸载动画-粒子爆炸 好的,各位亲爱的朋友,今天讲的特效还是比较炫的,首先,我们会讲一个自定义圆形的imageView,接着,我们会来实现粒子爆炸的特效,按照国际惯例,无图无真相的没这个效果也是模仿大神的,现在应用在了我的<Only>上 截图 好的,我们新建一个工程--AnimView,我们要用到的图片 一.自定义圆形头像-- 直接开写了,要实现的东西都在注释上了 1.编写自定义属性attr.xml <?xml version=&q…
一个简单的Android自定义View的demo,画弧形,文字,开启一个多线程更新ui界面,在子线程更新ui是不允许的,但是View提供了方法,让我们来了解下吧. 1.封装一个抽象的View类   BaseView.java /** * 封装基本View * @author ansen * @create time 2015-08-07 */ public abstract class BaseView extends View{ private MyThread myThread; publi…
1.使用BitmapShader实现图片圆角 public class CornerDrawable extends Drawable { private Paint mPaint; private Bitmap bmp; private RectF rectF; public CornerDrawable(Bitmap bmp) { this.bmp = bmp; BitmapShader shader = new BitmapShader(bmp, Shader.TileMode.CLAMP…
在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决.不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片. 这样就容易使apk变大. 那么除了使用drawable这样的图片外,还有其他方法吗? 本次就谈一下自定义图形shape,Android上支持以下几种属性shape.gradient.stroke.corners.padding.solid等. 先来看两个例子: <shape xmlns:android="http://s…