Xml:

<LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical"    >    <ImageView        android:id="@+id/image"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/a"        /></LinearLayout>

java:

package com.wangbiao.view;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.AccelerateInterpolator;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.view.animation.Animation.AnimationListener;import android.view.animation.AnimationSet;import android.view.animation.RotateAnimation;import android.widget.ImageView;import android.widget.Toast;public class AnimationActivity extends Activity {private ImageView image;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_animation);image = (ImageView) this.findViewById(R.id.image);// 淡入淡出// image.setOnClickListener(new View.OnClickListener() {//// @Override// public void onClick(View v) {// AnimationSet set=new AnimationSet(true);// AlphaAnimation alpha=new AlphaAnimation(0,1);// alpha.setDuration(3000);// set.addAnimation(alpha);// image.startAnimation(set);// }// });// 伸缩// image.setOnClickListener(new View.OnClickListener() {//// @Override// public void onClick(View v) {// AnimationSet set = new AnimationSet(true);// ScaleAnimation scale = new ScaleAnimation(1, 0, 1, 0,// Animation.RELATIVE_TO_SELF, 0.5f,// Animation.RELATIVE_TO_SELF, 0.5f);// scale.setDuration(5000);// set.addAnimation(scale);// image.startAnimation(scale);//// }// });// 平移//image.setOnClickListener(new View.OnClickListener() {////@Override//public void onClick(View v) {//AnimationSet set = new AnimationSet(true);//TranslateAnimation translate = new TranslateAnimation(//Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,0.5f);//translate.setDuration(5000);//set.addAnimation(translate);//image.startAnimation(translate);////}//});//旋转image.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//AnimationSet是Animation的子类,可以理解为是动画效果的集合。//new AnimationSet(true);true表示的是,将所有的速率交给AnimationSet对象统一设置(可setInterpolator()统一设置),而各个不同的动画中的速率不起作用。AnimationSet set = new AnimationSet(true);//Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.3f表示的是父控件的旋转中心的坐标X为X轴的一半,Y为Y轴的3/10.RotateAnimation rotate = new RotateAnimation(0,360,Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.3f);rotate.setRepeatCount(3);//动画效果叠加AlphaAnimation alpha=new AlphaAnimation(0,1);alpha.setRepeatCount(3);//设置动画速率/** *AccelerateInterpolator   加速 *DecelerateInterpolator   减速 *AccelerateDecelerateInterpolator 加速——减速 *CycleInterpolator 速度沿着正弦曲线变化 *LinearInterpolator 匀速 */set.setInterpolator(new AccelerateInterpolator());//set.addAnimation(alpha);set.addAnimation(rotate);set.setDuration(5000);set.setRepeatCount(3);//设置的没有用,各个动画效果自行设置重复数,测试发现,AnimationSet的重复事件不会被触发,若是想触发重复事件,只能对各个动画单独进行监听。set.setAnimationListener(new AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {//动画开始时触发Toast.makeText(AnimationActivity.this, "动画开始了", Toast.LENGTH_LONG).show();}@Overridepublic void onAnimationRepeat(Animation animation) {//动画重复时触发Toast.makeText(AnimationActivity.this, "动画在重复", Toast.LENGTH_SHORT).show();}@Overridepublic void onAnimationEnd(Animation animation) {//动画结束时触发Toast.makeText(AnimationActivity.this, "动画结束了", Toast.LENGTH_LONG).show();}});image.startAnimation(set);}});}}

更多相关文章

  1. android 加载recyclerView的popupWindow
  2. 设置网络首选项
  3. Android中textview字体动画
  4. android 8.0通知栏的适配
  5. 仿微信右上角弹出PopupWindow
  6. android WebView onJsAler onJsC…
  7. Camera类实现3d动画(android)
  8. Android(安卓)围绕中心旋转一个ImageView动画
  9. Android---32---RatingBar

随机推荐

  1. Android(安卓)短信 彩信 wap push的接收
  2. Android实现图片随意拖动、缩放
  3. android获取资源文件R.drawable中的图片
  4. 一起学android之给图片添加水印效果(33)
  5. android 获取assets下的图片
  6. 【Android应用开发】Android Studio 错误
  7. Android图片双指缩放,单指移动实现
  8. Android 悬浮窗在状态栏之上不影响其他操
  9. android软件开发:后台监控应用程序包的安
  10. Android(安卓)Studio 实现一个简单的计算