tweenanim动画
2016-04-07 18:10
211 查看
1、视图
2、android代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click1" android:text="透明" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click2" android:text="缩放" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click3" android:text="旋转" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click4" android:text="平移" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click5" android:text="组合" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> </LinearLayout> </LinearLayout>
2、android代码
package com.example.tweenanim; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.RotateAnimation; import android.view.animation.ScaleAnimation; import android.view.animation.TranslateAnimation; import android.widget.ImageView; public class MainActivity extends Activity { private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.iv); } //透明度 public void click1(View view){ //第一个参数表示开始透明度;0表示完全透明 //第二个参数表示结束透明度;1表示完全不透明 AlphaAnimation animation = new AlphaAnimation(0.0f, 1.0f); animation.setDuration(2000);//设置动画时间为2妙 animation.setRepeatCount(2);//设置重复次数,因此总共3次 animation.setRepeatMode(Animation.REVERSE);//设置重复模式 iv.startAnimation(animation); } //缩放图片 public void click2(View view){ //第一个参数为开始x轴缩放坐标;第二个参数为结束时x轴缩放坐标 //第三个参数为开始y轴缩放坐标;第四个参数为结束时y轴缩放坐标 //第五个参数为中心x坐标以什么为参照,Animation.RELATIVE_TO_SELF说明以自己为参照;第六个参数为参照坐标比例;第七、八与第五、六相同,只不过它指的是y轴 ScaleAnimation animation = new ScaleAnimation(0.2f, 2.0f, 0.2f, 2.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); animation.setDuration(2000); animation.setRepeatCount(2); animation.setRepeatMode(Animation.REVERSE); iv.startAnimation(animation); } //旋转 public void click3(View view){ //第一参数,开始旋转角度 //第二个参数为旋转到多少度 //第3-6个参数与缩放的第5-8的参数相同 RotateAnimation animation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); animation.setDuration(2000); animation.setRepeatCount(2); animation.setRepeatMode(Animation.REVERSE); iv.startAnimation(animation); } //平移 public void click4(View view){ //x轴 //第一个参数为参照类型:Animation.RELATIVE_TO_PARENT以父窗口为参照 //第二个参数为开始坐标比例 //第三个同第一个;第四个参数是说明要平移多长的比例;1.0说明要有父窗口的宽度 //y轴同上 TranslateAnimation animation = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 1.0f); animation.setDuration(2000); animation.setRepeatCount(2); animation.setRepeatMode(Animation.REVERSE); iv.startAnimation(animation); } //组合动画 public void click5(View view){ AnimationSet set = new AnimationSet(false); TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 1.0f); ta.setDuration(2000); ta.setRepeatCount(2); ta.setRepeatMode(Animation.REVERSE); RotateAnimation ra = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); ra.setDuration(2000); ra.setRepeatCount(2); ra.setRepeatMode(Animation.REVERSE); ScaleAnimation sa = new ScaleAnimation(0.2f, 2.0f, 0.2f, 2.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); sa.setDuration(2000); sa.setRepeatCount(2); sa.setRepeatMode(Animation.REVERSE); set.addAnimation(ta); set.addAnimation(ra); set.addAnimation(sa); iv.startAnimation(set); } }
相关文章推荐
- 3-基础语法
- ios —— UIViewAdditions 布局坐标类库
- LR有的JMeter也有之一“参数化”
- spring MVC 学习记录---- Controller命名 和 修改jsp或者代码 必须重启myeclipse
- Android 如何下载系统源码
- spring 注解
- Ural 1183 Brackets Sequence(区间DP+记忆化搜索)
- python 学习笔记十二 html基础(进阶篇)
- Jmeter接口测试---JDBC简单实践
- https authorization basic
- mysql数据库插入中文乱码或问号--解决历程
- IOS响应式编程框架ReactiveCocoa(RAC)使用示例
- NSDateFormatter 和 NSDateComponents 的用法
- node使用buffer生成图片
- CSP考试 2014年12月第4题 C语言实现
- Cocos2d-x 场景中的生命周期函数?
- C语言—局部变量同名初始化问题
- Rxjava学习笔记
- 扣丁学堂笔记第25天百度地图
- activiti自定义流程之自定义表单(一):环境配置