Android中启动动画源码讲解
来源:互联网 发布:淘宝店授权店 编辑:程序博客网 时间:2024/05/18 02:54
首先是主要代码 的实现 ,去调用 各个xml 配置文件:
MainActivity:
public class MainActivity extends Activity {private ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取显示控件IDimageView = (ImageView) findViewById(R.id.imageView1);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}public void animImpl(View v){//调用 动画的配置文件Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha_demo);imageView.startAnimation(animation);}//旋转动画public void rotate(){Animation animation = AnimationUtils.loadAnimation(this, R.anim.rotate_demo);imageView.startAnimation(animation);}//缩放动画public void scaleImpl(){Animation animation = AnimationUtils.loadAnimation(this, R.anim.scale_demo);imageView.startAnimation(animation);}//移动效果public void translateImpl(){//XML文件/*Animation animation = AnimationUtils.loadAnimation(this, R.anim.translate_demo);animation.setRepeatCount(Animation.INFINITE);*/ /* 第一种 * imageView.setAnimation(animation); animation.start();*///第二种//imageView.startAnimation(animation);//Java代码TranslateAnimation translateAnimation = new TranslateAnimation(0, 200, 0, 0);translateAnimation.setDuration(2000);imageView.startAnimation(translateAnimation);}//缩放效果}
alpha_demo.xml
<alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromAlpha="1.0" android:toAlpha="0.1" android:duration="2000"/> <!-- fromAlpha :起始透明度 toAlpha:结束透明度 1.0表示完全不透明 0.0表示完全透明 -->
rotate_demo.xml
<rotate xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0" android:toDegrees="360" android:duration="1000" android:repeatCount="1" android:repeatMode="reverse"/><!-- fromDegrees:表示旋转的起始角度toDegrees:表示旋转的结束角度repeatCount:旋转的次数 默认值是0 代表旋转1次 如果值是repeatCount=4 旋转5次repeatCount=-1 或者infinite 循环了repeatMode: 默认值:restart 模式要想其作用 repeatCount值必须大于0 或者是-1 "reverse" 反转: -->
scale_demo.xml
<scale xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromXScale="0.2" android:toXScale="1.5" android:fromYScale="0.2" android:toYScale="1.5" android:pivotX="50%" android:pivotY="50%" android:duration="2000"/><!-- fromXScale:表示沿着x轴缩放的起始比例toXScale:表示沿着x轴缩放的结束比例fromYScale:表示沿着y轴缩放的起始比例toYScale:表示沿着y轴缩放的结束比例图片中心点: android:pivotX="50%" android:pivotY="50%" -->
translate_demo.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXDelta="0" android:toXDelta="320" android:fromYDelta="0" android:toYDelta="0" android:duration="2000"/> <!-- android:interpolator 动画的渲染器 1、accelerate_interpolator(动画加速器) 使动画在开始的时候 最慢,然后逐渐加速 2、decelerate_interpolator(动画减速器)使动画在开始的时候 最快,然后逐渐减速 3、accelerate_decelerate_interpolator(动画加速减速器) 中间位置分层: 使动画在开始的时候 最慢,然后逐渐加速 使动画在开始的时候 最快,然后逐渐减速 结束的位置最慢 fromXDelta 动画起始位置的横坐标 toXDelta 动画起结束位置的横坐标 fromYDelta 动画起始位置的纵坐标 toYDelta 动画结束位置的纵坐标 duration 动画的持续时间 -->
activity_main.xml
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:onClick="animImpl" android:text="@string/text_translate" /> <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" android:layout_below="@+id/button1" android:layout_marginTop="36dp" android:src="@drawable/ic_launcher" /></RelativeLayout>
- Android中启动动画源码讲解
- Android中启动动画源码讲解
- Android中动画的详细讲解
- Android中设置启动动画
- 详细讲解Android中的动画Animation(依据Android源码目录结构讲解)
- Android App 启动时显示正在加载图片(讲解+源码)
- Android Animation动画讲解
- eoe android客户端源码剖析(一)动画启动界面
- android Service 启动讲解
- Android 动画超详细讲解
- Android 启动动画资料
- Android启动程序动画
- Android开机启动动画
- android程序启动动画
- android启动延迟动画
- Android启动动画
- Android开场动画源码
- Android中Activity的启动和退出动画
- 暑假第一场A。Eming
- php单例模式笔记
- Cocos2d-x 捕鱼达人游戏学习教程(7)--添加CannonLayer炮塔层
- lwip之ucosii移植报错集锦
- git与rope的使用说明
- Android中启动动画源码讲解
- 2.1K尾相等数
- 大规模数据相似度计算时,解决数据倾斜的问题的思路之一(分块思想)
- C# winform 右下角弹出窗口效果
- 数据结构--链表、栈、队列存储结构总结
- [Android]手动触发OnClick事件
- 线程本地存储TLS(Thread Local Storage)的原理和实现——分类和原理
- html5 canvas 文字居中对齐
- 连接远程JMS JNDI的问题:java.rmi.NoSuchObjectException