`
yq135314
  • 浏览: 255120 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

android中canvas.clipRect建立动画

 
阅读更多

看了MOMO的游戏界面关闭的特效后,想想,做了个游戏界面开始的动画效果,原理主要是利用裁剪图的

canvas.clipRect方法的应用

效果截图:

 

未相交之前:

 

相交之后:

 

主要的代码如下:

 

// 建立遮罩效果动画
	private void drawClip(Canvas canvas) {
		// 动画完成时,把整张图片显示出来
		if (isStop3) {
			canvas.drawBitmap(bitmap, 0, 0, null);
			return;
		}
		// 当进行到当完成,将动画停止,但别忘了把背景图片显示出来
		if (steep30 >= viewW && viewW != 0) {
			steep30 = 0;
			steep31 = 0;
			isStop3 = true;
			canvas.drawBitmap(bitmap, 0, 0, null);
			return;
		}
		// 20开始
		for (int i = 0; i <= viewH; i = i + 40) {
			// 创建从左到右的遮罩动画
			clip(canvas, bitmap, steep30, 20, 0, i);
			// 创建从右到左的遮罩动画
			clip(canvas, bitmap, steep31, 20, viewW - steep31, i + 20);
		}
		// 运行一次遮罩动画前进行距离
		steep30 += 5;
		steep31 += 5;
	}

//进行图片裁剪
private void clip(Canvas canvas, Bitmap bit, int w, int h, int posX,
			int posY) {
		canvas.save();
		canvas.clipRect(posX, posY, posX + w, posY + h);
		canvas.drawBitmap(bit, 0, 0, null);
		canvas.restore();
	}
分享到:
评论

相关推荐

    2011.09.20(3)——— android canvas.clipRect

    这篇博客"2011.09.20(3)——— android canvas.clipRect"主要探讨了Canvas类中的`clipRect()`方法,这是一个非常关键的裁剪操作,用于限制后续绘图操作的区域。 `clipRect()`方法允许开发者定义一个矩形区域,...

    canvas的clipRect理解

    总之,`clipRect`是Android Canvas中一个非常实用的方法,它帮助开发者精确控制绘图的可见区域,是实现复杂界面和动画效果不可或缺的工具。理解和熟练运用`clipRect`,能显著提升Android应用的用户体验和界面设计的...

    Android canvas画图操作之切割画布实现方法(clipRect)

    在Android开发中,Canvas是用于在屏幕上绘制图形的重要工具。Canvas提供了多种方法来对画布进行操作,包括绘制线条、形状、文字等。本篇文章将详细介绍如何使用`clipRect`方法来切割Android Canvas画布,以及它的...

    clipRect的一个简单应用

    在Android开发中,`clipRect`是一个非常重要的图形操作工具,它用于限制画布上绘制的区域。在给定的示例"clipRect的一个简单应用"中,我们看到它是如何被用来实现一个基本的动画效果的。这个例子的核心是利用`...

    Android 在Canvas指定区域绘制图片

    在Android开发中,Canvas是图形绘制的核心工具,它允许开发者在Bitmap或Surface上进行各种复杂的图形操作,包括绘制文本、线条、形状以及图片等。本篇文章将深入探讨如何在Canvas的指定区域内绘制图片,这对于创建...

    Android剪切图动画Demo源码.rar

    在自定义View中,重写`onDraw()`方法并结合`canvas.save()`, `canvas.clipRect()`, `canvas.restore()`等方法,可以实现自定义的剪切效果。 5. **动画监听器**(AnimatorListener):通过设置动画监听器,可以在...

    Android仿Flipboard动画效果的实现代码

    总的来说,Android中的Flipboard翻页动画效果通过自定义View、Canvas的旋转和裁剪,以及适当的动画控制,可以创造出极具视觉吸引力的用户体验。理解并掌握这些技术细节,对于提升Android应用的用户体验设计至关重要...

    android 绘图带动画 裁剪 圆弧计分图 柱状图 线性图

    在Android中,我们可以使用`Animation`类或`Property Animation`来创建动画效果。`Animation`主要用于改变视图的位置、大小等属性,而`Property Animation`系统更加灵活,可以直接操作对象的属性,支持值动画、对象...

    安卓Android源码——(剪切图动画).zip

    在源码中,我们可能会看到`Canvas.clipRect()`方法被用来定义动画的剪切区域。 在Android的动画框架中,`Animation`类是所有动画的基础,它定义了动画的基本行为。对于剪切图动画,我们可能需要使用`...

    安卓Android源码——(Canvas画布).rar

    总之,Canvas是Android开发中不可或缺的一部分,它提供了丰富的绘图接口,使得开发者能够在应用中实现各种自定义的图形和动画效果。通过深入学习和实践Canvas的使用,可以提升Android应用的视觉表现力和用户体验。

    Android_API_Demo_Clipping

    例如,如果你想让某个View只显示其部分内容,可以在`onDraw()`中先调用`canvas.save()`保存当前状态,然后设置剪切区域,如`canvas.clipRect(new Rect(0, 0, 100, 100))`,再进行绘制操作。最后,记得调用`canvas....

    Android下使用Canvas画图

    本文将深入探讨Android中Canvas画图的相关知识点,帮助你理解和掌握其核心功能。 1. **Canvas的基本概念** - Canvas是Android系统提供的一个类,它提供了在二维画布上进行绘制的方法。 - 通常,我们会在一个...

    android之通过clip自定义progress的样式

    在`draw()`方法中,我们可以使用`canvas.clipRect()`或`canvas.clipPath()`来控制进度条的显示区域,从而实现独特的形状。 2. **使用Shape Drawable** 在自定义`ProgressDrawable`时,可以结合`Shape Drawable`来...

    安卓Android源码——(剪切图动画).rar

    剪切图动画的基本原理是利用Android提供的Canvas类的clipRect()方法,这个方法允许我们定义一个矩形区域作为视图可见的部分,超出该区域的部分会被隐藏。通过动态改变这个矩形区域,我们可以实现视图形状的变化,...

    基于Android应用的性能优化.pdf

    * 使用canvas.clipRect()来帮助系统识别那些可见的区域,解决重叠区域的过度绘制 二、ANR优化 ANR全称是Application No Responding,也就是“应用程序无响应”。ANR优化是Android性能优化中一个非常重要的方面。...

    2011.10.10(2)——— android Clipping关于剪切

    Android中的剪切主要通过Canvas对象的clipPath()、clipRect()等方法来实现。这些方法允许开发者定义一个剪切区域,之后在这个区域内进行的所有绘图操作都会受到这个剪切区域的约束。例如,使用clipRect()可以创建一...

    android-ClippingBasic:已迁移:

    虽然源代码不在当前信息中,但通常一个剪裁示例可能会包含创建一个自定义View,设置`ClipBounds`,并在`onDraw()`中使用`canvas.clipRect()`或`canvas.saveLayer()`进行剪裁操作的步骤。 10. **版本迁移**: 提示...

    Android应用源码之(剪切图动画)-IT计算机-毕业设计.zip

    在Android应用开发中,剪切图动画是一种常见的视觉效果,常用于实现图片或者视图的动态变换,给用户带来丰富的交互体验。这份"Android应用源码之(剪切图动画)"的毕业设计Demo,旨在帮助学生和开发者深入理解Android...

    android canvas clip

    在Android开发中,Canvas是用于在屏幕上绘制图形的重要工具,而`clip`操作则是Canvas功能的一部分,它允许开发者限制在特定区域内进行绘制。这个知识点主要涉及如何使用Canvas的clip功能以及在何时何地进行画图操作...

    Android应用源码之(剪切图动画).zip

    在Android中,我们可以利用Canvas和Bitmap对象,配合Matrix变换来实现这种动画效果。 首先,我们需要创建一个Bitmap对象,它代表我们要进行剪切操作的图像。这个Bitmap可以从资源文件中加载,也可以是程序运行时...

Global site tag (gtag.js) - Google Analytics