`
SylarLou
  • 浏览: 7835 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Animation 动画透明转换

UI 
阅读更多
今天公司让做Animation的动态转换效果。其中一个功能就是将一张图片透明后转换成另外一张图片。用Handler更新UI的时候总是达不到效果,后来才发现Animation有监听事件,写个监听就搞定了。代码如下 有需要的参考吧
view = (ImageView)getTarget();
		alpha1 = new AlphaAnimation((float)fromAlpha, (float)toAlpha);
		alpha2 = new AlphaAnimation((float)toAlpha,(float)fromAlpha);
		alpha1.setDuration((long)(getDuration()*1000));
		alpha2.setDuration((long)(getDuration()*1000));

		alpha1.setAnimationListener(new AnimationListener() {
			
			@Override
			public void onAnimationStart(Animation animation) {
				// TODO Auto-generated method stub
			}	
			@Override
			public void onAnimationRepeat(Animation animation) {
				// TODO Auto-generated method stub
			}
			@Override
			public void onAnimationEnd(Animation animation) {
				// TODO Auto-generated method stub
				Bitmap bmp = BitmapFactory.decodeResource(TransitionActivity.mContext.getResources(), R.drawable.image2);
				view.setImageBitmap(bmp);
				view.startAnimation(alpha2);
			}
		});
		
		handler.post(new Runnable() {
			
			@Override
			public void run() {
					view.startAnimation(alpha1);
			}
		});
	}

另外还有一种方法就是用Android提供的AnimationSet将要播放的动画add到AnimationSet中,根据动画的时间一一执行。
@Override
	public Animation translate(float x, float y) {
		Animation alpha = new AlphaAnimation(fromAlpha, toAlpha);
		AnimationSet amSet = new AnimationSet(false);
		if(ImageObject.resId != 0){
			Animation alphaGlow = new AlphaAnimation(toAlpha,fromAlpha);
			alphaGlow.setDuration(1000);
			alphaGlow.setStartOffset(2000);
			amSet.addAnimation(alpha);
			amSet.addAnimation(alphaGlow);
			return amSet;
		}
		return alpha;
	}
分享到:
评论
4 楼 wafj1984 2011-03-10  
这个比较但丁
3 楼 wjb_forward 2011-03-04  
apiDemos里面那个Animation3D有这样用过
2 楼 SylarLou 2011-03-02  
效果代码这里的就够了,你可以根据你需要改一下,或者把这段添加到你的代码里就好了
1 楼 lyltiger 2011-03-02  
给放个源码吧!

相关推荐

    animation动画效果

    Core Animation可以实现平滑、高性能的2D和3D动画,包括位置、大小、透明度等属性的变化。 2. UIKit Animation:基于Core Animation之上,UIKit提供了一些简便的API,如`UIView`的`animateWithDuration:`系列方法,...

    CSS3 animation动画

    **CSS3 Animation动画详解** CSS3是Web设计领域的一个重大突破,它引入了许多新的特性,其中最引人注目的就是动画(Animation)功能。通过CSS3的动画,开发者可以为网页元素添加平滑、动态的效果,提升用户体验。在...

    微信小程序—this.animate动画和wx.createAnimation动画示例-AnimCss.rar

    在实际开发中,我们可以结合`wx.createAnimation`的`rotate`(旋转)、`scale`(缩放)、`opacity`(透明度)等方法,实现丰富的3D效果和过渡动画。同时,还可以利用`duration`、`delay`、`timingFunction`等参数...

    Animation动画基础.pdf

    ### Android Animation动画基础知识点 #### 一、Android动画类型 Android平台支持多种动画效果,主要分为两类:**基于XML的动画**与**基于Java代码的动画**。 1. **基于XML的动画**主要包括: - **alpha(渐变...

    一个微信小程序animation动画卡片效果.rar

    这个"微信小程序animation动画卡片效果"是一个很好的实例,它展示了如何利用微信小程序的动画API来实现动态卡片展示,常见于菜单界面或者商品展示场景。下面我们将详细探讨这个效果的实现原理以及相关的知识点。 ...

    iOS CoreAnimation动画集

    在实践中,Core Animation的灵活性和效率使得它成为iOS开发中不可或缺的一部分,无论是用于创建简单的滑动效果,还是复杂的3D转换,都能游刃有余。学习和掌握Core Animation的使用,对于提升iOS应用的用户体验至关...

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

    这个压缩包"Android应用源码之(Animation动画)"提供了Android应用中动画效果的源码示例,非常适合那些正在进行毕业设计或者想要深入理解Android动画机制的学生进行学习。在本文中,我们将详细探讨Android动画系统...

    Android进阶篇之引导页系列之ViewPager实现Animation动画引导页

    可以使用`ObjectAnimator`或者`Animation`类来实现平移、旋转、透明度变化等动画效果。例如,可以使用`ObjectAnimator.ofFloat(view, "alpha", 0f, 1f)`来创建一个淡入效果。 3. **自定义PageTransformer**: ...

    Core Animation(二)动画基础部分

    3. **基本动画(Basic Animation)**:CABasicAnimation用于简单的一对一属性动画,如位置、透明度等。 4. **关键帧动画(Keyframe Animation)**:CAKeyframeAnimation允许你在动画过程中设置多个关键值,创建复杂...

    Android动画效果--渐变动画

    本文将深入探讨四种主要的渐变动画:Alpha(透明度)、Scale(缩放)、Translate(平移)和Rotate(旋转),以及如何通过Java代码和XML两种方式来实现这些动画。 1. **Alpha渐变动画**: Alpha动画主要用于改变...

    iOS CoreAnimation之CABasicAnimation:文字路径动画

    除了基本的路径动画,还可以结合其他属性一起使用,如`opacity`(透明度)、`transform`(变换)等,创造出更复杂的视觉效果。同时,`CABasicAnimation`还支持关键帧动画,通过`keyTimes`和`values`属性,可以在动画...

    Android 补间动画(Animation)

    补间动画类`Animation`内部维护了一系列的状态信息,包括但不限于初始化标志`mInitialized`、是否开始`mStarted`、是否结束`mEnded`、填充前标志`mFillBefore`、填充启用标志`mFillEnabled`、起始时间`mStartTime`、...

    3D 文本动画制作 Aurora 3D Animation Maker 20.01.30 中文免费版.zip

    支持导出多种主流图片格式,GIF,SWF,视频(可带透明背景),图片动画序列。 Aurora 3D Animation Maker内置了很多动画效果,有多种动态背景,是制作三维动画和旗帜的最佳选择。同时还具有动出导出功能,可以把你...

    Android动画例子(AnimationExample)

    Android动画例子(AnimationExample),写了四种效果 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 文章:...

    core animation cook book

    - **使用显式图层(Explicit Layers)**:将UIView转换为显式图层可以提高动画性能。 - **减少重绘次数**:避免频繁地修改图层属性导致不必要的重绘。 - **利用硬件加速**:通过启用硬件加速,可以让 GPU 负责渲染...

    Android-一个App的Logo的动画效果实现

    Android支持多种动画类型,包括属性动画(Property Animation)、帧动画(Frame Animation)和视图动画(View Animation)。Logo动画通常适合使用属性动画,因为它提供了更丰富的控制和灵活性。在"QccLogo-...

    动画实现view的转换

    "动画实现view的转换"这个主题主要关注如何使用`UIView`类中的动画方法来实现界面元素的动态变化,为你的博客提供可展示的实例代码。`UIView`动画使得开发者能够轻松地添加平滑、引人入胜的视觉效果到应用中。 在...

    Android中的Animation的使用

    估值器(Evaluator)处理动画值的转换,如IntTypeEvaluator用于整型动画,ArgbEvaluator用于颜色动画。 五、动画监听 可以添加Animation监听器来获取动画状态变化,如开始、结束、重复等事件,以便执行相应的操作。...

    android_animation

    "android_animation"这个主题主要聚焦于Android中的View动画,这包括了转换动画(Translation Animation)、缩放动画(Scale Animation)、旋转动画(Rotation Animation)以及平移动画(Alpha Animation)。...

    react-native-animation

    这种方式非常适合在不关心具体动画细节时,如宽高变化、透明度变化等场景下使用。 而Animated动画则提供了更加强大和灵活的动画选项,开发者可以通过 Animated API 实现更复杂和精细的动画效果。它适用于需要精确...

Global site tag (gtag.js) - Google Analytics