Android入门笔记 - 界面开发 - Animation
今天我们来看看Android中的动画效果,实例比较简单:
- AlphaAnimation:透明度动画
- ScaleAnimation:缩放动画
- TranslateAnimation:移动位置动画
- RotateAnimation:旋转角度动画
先贴代码:
这个实例完全使用代码实现的,当然也可以使用xml文件实现,我们先来看这个实例:
package com.example.demo5_03_animation; import android.os.Bundle; import android.annotation.SuppressLint; 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.RotateAnimation; import android.view.animation.ScaleAnimation; import android.view.animation.TranslateAnimation; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends Activity { private ImageView mImg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mImg = (ImageView) findViewById(R.id.img); Button btn_alpha = (Button) findViewById(R.id.btn_alpha); btn_alpha.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Animation animAlpha = new AlphaAnimation(1.0f, 0.0f); animAlpha.setDuration(1000*3); mImg.startAnimation(animAlpha); } }); Button btn_scale = (Button) findViewById(R.id.btn_scale); btn_scale.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Animation animScale = new ScaleAnimation(1.0f, 1.3f, 1.0f, 1.3f); animScale.setDuration(1000*3); mImg.startAnimation(animScale); } }); Button btn_translate = (Button) findViewById(R.id.btn_translate); btn_translate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Animation animAlpha = new TranslateAnimation(-mImg.getWidth(), 0, 0, 0); animAlpha.setDuration(1000*1); mImg.startAnimation(animAlpha); } }); Button btn_rotate = (Button) findViewById(R.id.btn_rotate); btn_rotate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Animation animAlpha = new RotateAnimation(0.0f, 90.0f); animAlpha.setDuration(1000*3); mImg.startAnimation(animAlpha); } }); } @Override public 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; } }也没有什么好讲的,这里主要是给大家提供实例。
然后我们来看看用xml文件怎么实现:
1. 使用xml来配置 animation, 首先需要在 res/ 下创建 anim/ 文件夹, 创建想要的动画配置文件,比如: res/anim/anim_alpha.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <alpha android:duration="2000" android:fromAlpha="1.0" android:toAlpha="0.5" /> </set>
2. 然后就是在Activity中加载这个动画就完成了:
Button btn_alpha = (Button) findViewById(R.id.btn_alpha); btn_alpha.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Animation animAlpha = new AlphaAnimation(1.0f, 0.0f); // animAlpha.setDuration(1000*3); // mImg.startAnimation(animAlpha); Animation animationAlpha = AnimationUtils.loadAnimation(mContext, R.anim.anim_alpha); mImg.startAnimation(animationAlpha); } });这里是把上一个例子中的透明度动画注释了,然后用xml加载方式写的。
好了,动画其实使用起来很简单,其他的请大家自己去研究!!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。