温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android Animation之TranslateAnimation的示例分析

发布时间:2021-08-11 10:19:08 来源:亿速云 阅读:160 作者:小新 栏目:移动开发

这篇文章主要为大家展示了“Android Animation之TranslateAnimation的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“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的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI