能使图片变大变小那个js实现动画效果果更能实现

Android开发之图形图像与动画(二)Animation实现图像的渐变/缩放/位移/旋转
字体:[ ] 类型:转载 时间:
Android 平台提供了两类动画,一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果;旋转、平移、放缩和渐变等等,感兴趣的朋友可以了解下啊,希望本文对你有所帮助
Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。 下面就讲一下Tweene Animations。 主要类: Animation 动画 AlphaAnimation 渐变透明度 RotateAnimation 画面旋转 ScaleAnimation 渐变尺寸缩放 TranslateAnimation 位置移动 AnimationSet 动画集 一.AlphaAnimation 其中AlphaAnimation类第一个参数fromAlpha表示动画起始时的透明度, 第二个参数toAlpha表示动画结束时的透明度。 setDuration用来设置动画持续时间。 二.RotateAnimation 其中RotateAnimation类第一个参数fromDegrees表示动画起始时的角度, 第二个参数toDegrees表示动画结束时的角度。另外还可以设置伸缩模式pivotXType、pivotYType, 伸缩动画相对于x,y 坐标的开始位置pivotXValue、pivotYValue等。 三.ScaleAnimation ScaleAnimation类中 第一个参数fromX ,第二个参数toX:分别是动画起始、结束时X坐标上的伸缩尺寸。 第三个参数fromY ,第四个参数toY:分别是动画起始、结束时Y坐标上的伸缩尺寸。 另外还可以设置伸缩模式pivotXType、pivotYType, 伸缩动画相对于x,y 坐标的开始位置pivotXValue、pivotYValue等。 四.TranslateAnimation 第一个参数fromXDelta ,第二个参数toXDelta:分别是动画起始、结束时X坐标。 第三个参数fromYDelta ,第四个参数toYDelta:分别是动画起始、结束时Y坐标。 下面我实现的这个例子是使得图片有上述四个动画效果,且其中第五实现的是两个效果的重叠,具体的实现截图如下: &点击各个按钮会做出相应的反应。 本实例用到的布局文件如下:
代码如下: &?xml version="1.0" encoding="utf-8"?& &AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="/apk/res/android"& &Button android:id="@+id/button_scale" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="scale" android:layout_x="5dp" android:layout_y="383dp" /& &Button android:id="@+id/button_rotate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="rotate" android:layout_x="158dp" android:layout_y="383dp" /& &Button android:id="@+id/button_alpha" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="alpha" android:layout_x="5dp" android:layout_y="331dp" /& &Button android:id="@+id/button_translate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="translate" android:layout_x="160dp" android:layout_y="329dp" /& &Button android:id="@+id/button_alpha_translate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="alpha_translate" android:layout_x="84dp" android:layout_y="265dp" /& &ImageView android:id="@+id/imageview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="105dp" android:layout_y="133dp" android:src="@drawable/ic_launcher" /& &/AbsoluteLayout&
实现本实例的源代码如下:
代码如下: public class Animations_Activity extends Activity { private Button button1; private Button button2; private Button button3; private Button button4; private Button button5; private ImageView imageV @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_animations_); button1=(Button)findViewById(R.id.button_alpha); button2=(Button)findViewById(R.id.button_rotate); button3=(Button)findViewById(R.id.button_scale); button4=(Button)findViewById(R.id.button_translate); button5=(Button)findViewById(R.id.button_alpha_translate); imageView=(ImageView)findViewById(R.id.imageview); button1.setOnClickListener(new MyButton()); button2.setOnClickListener(new MyButton()); button3.setOnClickListener(new MyButton()); button4.setOnClickListener(new MyButton()); button5.setOnClickListener(new MyButton()); } class MyButton implements OnClickListener{ @Override public void onClick(View arg0) { // TODO Auto-generated method stub switch (arg0.getId()) { case R.id.button_alpha: Alpha();
case R.id.button_rotate: Rotata();
case R.id.button_scale: Scale();
case R.id.button_translate: Translate();
case R.id.button_alpha_translate: Alpha_Translate();
} } } /* * 1.创建一个AnimationSet对象,该对象存储的是动画的集合 * 2.根据需要创建相应的Animation对象 * 3.根据动画的需求,为Animation对象设置相应的数据(即执行效果) * 4.奖Animation对象添加到AnimationSet对象当中 * 5.使用控件对象开始执行AnimationSet */ public void Alpha() { AnimationSet animationSet=new AnimationSet(true); AlphaAnimation alphaAnimation=new AlphaAnimation(1, 0); alphaAnimation.setDuration(2000); animationSet.addAnimation(alphaAnimation); imageView.startAnimation(animationSet); } public void Rotata(){ AnimationSet animationSet=new AnimationSet(true); //后面的四个参数定义的是旋转的圆心位置 RotateAnimation rotateAnimation=new RotateAnimation( 0, 360, Animation.RELATIVE_TO_PARENT, 1f, Animation.RELATIVE_TO_PARENT, 0f); rotateAnimation.setDuration(2000); animationSet.addAnimation(rotateAnimation); imageView.startAnimation(animationSet); } public void Scale() { AnimationSet animationSet=new AnimationSet(true); ScaleAnimation scaleAnimation=new ScaleAnimation( 1, 0.1f, 1, 0.1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); scaleAnimation.setDuration(2000); animationSet.addAnimation(scaleAnimation); imageView.startAnimation(scaleAnimation); } public void Translate() { AnimationSet animationSet=new AnimationSet(true); TranslateAnimation translateAnimation=new TranslateAnimation( Animation.RELATIVE_TO_SELF, 0f, //X轴的开始位置 Animation.RELATIVE_TO_SELF, 0.5f, //X轴的结束位置 Animation.RELATIVE_TO_SELF, 0f, //Y轴的开始位置 Animation.RELATIVE_TO_SELF, 1.0f); //Y轴的结束位置 translateAnimation.setDuration(2000); animationSet.addAnimation(translateAnimation); /* * 第一行的设置如果为true,则动画执行完之后效果定格在执行完之后的状态 * 第二行的设置如果为false,则动画执行完之后效果定格在执行完之后的状态 * 第三行设置的是一个long类型的值,是指动画延迟多少毫秒之后执行 * 第四行定义的是动画重复几次执行 */ animationSet.setFillAfter(true); animationSet.setFillBefore(false); animationSet.setStartOffset(2000); animationSet.setRepeatCount(3); imageView.startAnimation(animationSet); } public void Alpha_Translate() { AnimationSet animationSet=new AnimationSet(true); AlphaAnimation alphaAnimation=new AlphaAnimation(1, 0); alphaAnimation.setDuration(2000); animationSet.addAnimation(alphaAnimation); TranslateAnimation translateAnimation=new TranslateAnimation( Animation.RELATIVE_TO_SELF, 0f, //X轴的开始位置 Animation.RELATIVE_TO_SELF, 0.5f, //X轴的结束位置 Animation.RELATIVE_TO_SELF, 0f, //Y轴的开始位置 Animation.RELATIVE_TO_SELF, 1.0f); //Y轴的结束位置 translateAnimation.setDuration(2000); animationSet.addAnimation(translateAnimation); imageView.startAnimation(animationSet); } @Override public boolean onCreateOptionsMenu(Menu menu) { // I this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_animations_, menu);
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
ppt动画效果-小图变大图,下拉菜单
下载积分:1500
内容提示:ppt动画效果-小图变大图,下拉菜单
文档格式:PPT|
浏览次数:72|
上传日期: 04:29:25|
文档星级:
该用户还上传了这些文档
ppt动画效果-小图变大图,下拉菜单
官方公共微信习作5--照片由小变大_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
习作5--照片由小变大
上传于||文档简介
&&幻​灯​片​中​图​片​如​何​实​现​大​小​变​化
大小:1.37MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢ios-animation.txt 使用CATransi 画一些动画,其中有两个 组合到一起,还有图片变大变小效果等 MacOS develop 238万源代码下载-
&文件名称: ios-animation.txt
& & & & &&]
&&所属分类:
&&开发工具: Objective-C
&&文件大小: 2 KB
&&上传时间:
&&下载次数: 1
&&提 供 者:
&详细说明:使用CATransition画一些动画,其中有两个动画组合到一起,还有图片变大变小效果等-Use CATransition draw some animation, two animation grouped together, as well as the picture changed into small effects
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&ios animation.txt&&__MACOSX&&........\._ios animation.txt
&输入关键字,在本站238万海量源码库中尽情搜索:

我要回帖

更多关于 js实现图片动画效果 的文章

 

随机推荐