Android Animation之TranslateAnimation(平移动画)

TranslateAnimation(平移动画)的意思无非就是一张图片或其他从一个位置到达另外一个位置。直接代码分析,相关重要属性参数解释都在代码中。

1、首先编写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:paddingLeft="@dimen/activity_horizontal_margin"   android:paddingRight="@dimen/activity_horizontal_margin"   android:paddingTop="@dimen/activity_vertical_margin"   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">   <ImageView     android:id="@+id/image"     android:text="@string/hello_world"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:src="@drawable/car_one1"/> </RelativeLayout> 

2、接下来编写MainActivity.java文件。

package com.example.dell.bitmapproject; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.TranslateAnimation; import android.widget.ImageView; public class MainActivity extends AppCompatActivity {   private ImageView image;   @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main);     image =(ImageView)findViewById(R.id.image);     image.setOnClickListener(new OnClickListenerImpl());   }   private class OnClickListenerImpl implements View.OnClickListener {     @Override     public void onClick(View v) {       /*         AnimationSet相当于一个动画的集合,true表示使用Animation的interpolator         false则是使用自己的。         Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果         accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。        */       AnimationSet animationSet = new AnimationSet(true);       /*           Animation还有几个方法           setFillAfter(boolean fillAfter)           如果fillAfter的值为真的话,动画结束后,控件停留在执行后的状态           setFillBefore(boolean fillBefore)           如果fillBefore的值为真的话,动画结束后,控件停留在动画开始的状态           setStartOffset(long startOffset)           设置动画控件执行动画之前等待的时间           setRepeatCount(int repeatCount)           设置动画重复执行的次数        */       TranslateAnimation translateAnimation = new TranslateAnimation(           //X轴初始位置           Animation.RELATIVE_TO_SELF, 0.0f,           //X轴移动的结束位置           Animation.RELATIVE_TO_SELF,0.5f,           //y轴开始位置           Animation.RELATIVE_TO_SELF,0.0f,           //y轴移动后的结束位置           Animation.RELATIVE_TO_SELF,1.5f);       //3秒完成动画       translateAnimation.setDuration(2000);       //如果fillAfter的值为真的话,动画结束后,控件停留在执行后的状态       animationSet.setFillAfter(true);       //将AlphaAnimation这个已经设置好的动画添加到 AnimationSet中       animationSet.addAnimation(translateAnimation);       //启动动画       MainActivity.this.image.startAnimation(animationSet);     }   } } 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

你不怕困难,困难就怕你。

Android Animation之TranslateAnimation(平移动画)

相关文章:

你感兴趣的文章:

标签云: