Android学习03自定义动画的播放
来源:互联网 发布:网络教育会计专科 编辑:程序博客网 时间:2024/06/05 20:28
Android中主要有两种动画模式,一种是tweened animation(渐变动画),即通过对场景里的对象不断做图像变换产生动画效果;
另外一种是frame by frame(帧动画),即按照顺序播放事先配置好的动画帧
这里是tweened animation的例子,帧动画以前在J2ME也常用就不做分析
渐变动画有四种类型,alpha(透明度),scale(尺度伸缩),translate(位置变换)和rotate(图形旋转)。
准备一张图片放入资源文件夹里面
在res目录新建anim文件夹,并在该文件夹新建animation.xml文件,在该文件加入如下代码:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="8000"
/>
<!-- 透明度的变换 -->
<scale
android:interpolator= "@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="0.0"
android:toXScale="1.4"
android:fromYScale="0.0"
android:toYScale="1.4"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="10000"
/>
<!-- 尺寸的变化 -->
<translate
android:fromXDelta="30"
android:toXDelta="0"
android:fromYDelta="30"
android:toYDelta="50"
android:duration="10000"
/>
<!-- 位置的变化 -->
<rotate
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromDegrees="0"
android:toDegrees="+350"
android:pivotX="50%"
android:pivotY="50%"
android:duration="10000"
/>
<!-- 旋转变化s -->
</set>
布局文件main.xml改为:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:id="@+id/myImageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/luoli"
/>
</LinearLayout>
新建Activity类代码如下:
import android.app.Activity; //引入Activity类
import android.os.Bundle;//引入Bundle类
import android.view.animation.*;//引入Animation类
import android.widget.ImageView;//引入ImageView类
public class Animation extends Activity {
android.view.animation.Animation animation;//动画的引用
ImageView myImageView;//ImageView的引用
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {//重写的onCreate回调方法
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//设置当前显示的View
animation= AnimationUtils.loadAnimation(this,R.anim.animation);//加载动画
myImageView = (ImageView) this.findViewById(R.id.myImageView);//得到ImageView的引用
myImageView.startAnimation(animation);//启动动画
}
}
执行效果如图:
- Android学习03自定义动画的播放
- Android 动画的播放
- android自定义View播放Frame动画
- Android 自定义录音、播放动画View
- Android自定义动画学习,实现左右摇摆动画
- 【Android】自定义录音、播放动画View,让你的录音浪起来
- 【Android】自定义录音、播放动画View,让你的录音浪起来
- Android学习之动画效果的实现、自定义控件皮肤
- android简单的自定义动画
- Android开关机动画/铃音是如何播放的?
- Android动画背景图自动播放的实现
- Android动画播放的常用方式
- Android动画背景图自动播放的实现
- Android动画背景图自动播放的实现
- Android播放动画的方法示例
- android的ImageView动画自动播放
- android 语音聊天播放动画的问题
- 自定义控件 播放GIF动画
- 我的CSDN博客开通啦······
- 一个关于多线程的面试题,网上大多给了错误的答案
- 字符串倒序输出
- 老鼠走迷宫
- 【DFB】IDirectFBInputDevice 方式处理事件 --键盘移动一个图片显示
- Android学习03自定义动画的播放
- Madwifi 的安装以及Ad-hoc模式的使用
- 进制之间的转换
- shell作业与答案
- IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件
- 关于运行时共享库的问题
- 通过无线网卡在数据链路层进行通信
- ……
- Quick Tutorial on how to add MFMailComposeViewController