1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android image 位移动画_「translateanimation」Android 补间动画之平移动画Transl

android image 位移动画_「translateanimation」Android 补间动画之平移动画Transl

时间:2019-09-10 10:46:43

相关推荐

android image 位移动画_「translateanimation」Android 补间动画之平移动画Transl

translateanimation

博客导航:

1.介绍:

Android补间动画之平移动画,在实际的开发过程中,其实有好多地方需要用到平移动画,这是对于平移动画的简单介绍。

2.属性

duration

时间

fromYDelta

动画开始点的Y轴坐标点,可以用三种方式表示:

1.数字50,表示当前View左上角的Y轴坐标+50px。

2.百分比50%,表示当前View的左上角Y轴坐标+此View的长度的50%。

3.百分数p 50%p,当前View左上角Y轴坐标+父控件长度的50%。

toYDelta

动画结束Y轴坐标。

fromXDelta

动画开始的X轴坐标。

toXDelta

动画结束的X轴坐标。

3.实现方式

3.1 xml方式

android:duration="1000">

android:fromYDelta="0%p"

android:toYDelta="80%p"/>

3.2 代码方式实现

translateanimation translateAnimation1 = new TranslateAnimation(0,0,0,1000);

// 使用java代码的方式创建TranslateAnimation,传入六个参数,fromXType、fromXValue、toXType、toXValue和fromYType、fromYValue、toYType、toYValue,使用如下构造方法。

// 参数说明:

// fromXType:动画开始前的X坐标类型。取值范围为absolute(绝对位置)、RELATIVE_TO_SELF(以自身宽或高为参考)、RELATIVE_TO_parent(以父控件宽或高为参考)。

// fromXValue:动画开始前的X坐标值。当对应的Type为ABSOLUTE时,表示绝对位置;否则表示相对位置,1.0表示100%。

// toXType:动画结束后的X坐标类型。

// toXValue:动画结束后的X坐标值。

// fromYType:动画开始前的Y坐标类型。

// fromYValue:动画开始前的Y坐标值。

// toYType:动画结束后的Y坐标类型。

// toYValue:动画结束后的Y坐标值。

translateAnimation1.setDuration(1000);

translateAnimation1.setInterpolator(new DecelerateInterpolator());

translate_img.startAnimation(translateAnimation1)

4.动画的监听事件

translateAnimation1.setAnimationListener(new Animation.AnimationListener() {

@Override

public void onAnimationStart(Animation animation) {

//动画开始

}

@Override

public void onAnimationEnd(Animation animation) {

//动画结束

translate_img.clearAnimation();

}

@Override

public void onAnimationRepeat(Animation animation) {

//动画重复

}

});

5.方法解释

setInterpolator设置插值器解释

LinearInterpolator

匀速accelerateInterpolator

先减速后加速

AnticipateInterpolator

动画开始之前有回弹效果

BounceInterpolator

结束回弹效果

CycleInterpolator

OvershootInterpolator

动画结束时向前弹一定距离再回到原来位置

AccelerateDecelerateInterpolator

系统默认的动画效果,先加速后减速

AnticipateOvershootInterpolator

开始之前向前甩,结束的时候向后甩

DecelerateInterpolator

开始加速再减速

6.案例实现

6.1 Activity的布局文件

xmlns:android="/apk/res/android"

xmlns:tools="/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="#fff"

tools:context="com.menglong.animatordemo.translate.TranslateActivity">

android:background="#99ff0ff0"

android:layout_margintop="100px"

android:id="@+id/translate_but"

android:text="平移"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

android:id="@+id/translate_img"

android:layout_marginTop="100px"

android:layout_centerHorizontal="true"

android:src="@drawable/translate"

android:layout_width="150px"

android:layout_height="150px" />

6.2 Activity代码实现

package com.menglong.animatordemo.translate;

import android.os.Bundle;

import android.view.View;

import android.view.animation.Animation;

import android.view.animation.AnimationUtils;

import android.view.animation.DecelerateInterpolator;

import android.view.animation.Interpolator;

import android.view.animation.TranslateAnimation;

import android.widget.Button;

import android.widget.ImageView;

import com.menglong.animatordemo.R;

import com.menglong.animatordemo.base.BaseActivity;

public class TranslateActivity extends BaseActivity implements View.OnClickListener {

private ImageView translate_img;

private Animation translateAnimation;

private Button translate_but;

@Override

protected void onCreate(Bundle savedinstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_translate);

initView();

}

private void initView() {

super.inittitle("平移动画");

translate_img = (ImageView) findViewById(R.id.translate_img);

translateAnimation = AnimationUtils.loadAnimation(this, R.anim.translate_anim);

// Interpolator interpolator = new LinearInterpolator();//匀速

// Interpolator interpolator = new AccelerateInterpolator();//先慢后快

// Interpolator interpolator = new AnticipateInterpolator();//开始回弹效果

// Interpolator interpolator = new BounceInterpolator();//结束回弹效果

// Interpolator interpolator = new CycleInterpolator(2);//跳一跳效果

// Interpolator interpolator = new OvershootInterpolator(1);//动画结束时向前弹一定距离再回到原来位置

// Interpolator interpolator = new AccelerateDecelerateInterpolator();//系统默认的动画效果,先加速后减速

// Interpolator interpolator = new AnticipateOvershootInterpolator();//开始之前向前甩,结束的时候向后甩

Interpolator interpolator = new DecelerateInterpolator();//开始加速再减速

translateAnimation.setInterpolator(interpolator);

translate_but = (Button) findViewById(R.id.translate_but);

translate_but.setOnClickListener(this);

}

@Override

public void onClick(View view) {

switch (view.getId()) {

case R.id.translate_but:

// translate_img.startAnimation(translateAnimation);

code();

break;

default:

break;

}

}

//代码实现方式

private void code(){

TranslateAnimation translateAnimation1 = new TranslateAnimation(0,0,0,1000);

// 使用java代码的方式创建TranslateAnimation,传入六个参数,fromXType、fromXValue、toXType、toXValue和fromYType、fromYValue、toYType、toYValue,使用如下构造方法。

// 参数说明:

// fromXType:动画开始前的X坐标类型。取值范围为ABSOLUTE(绝对位置)、RELATIVE_TO_SELF(以自身宽或高为参考)、RELATIVE_TO_PARENT(以父控件宽或高为参考)。

// fromXValue:动画开始前的X坐标值。当对应的Type为ABSOLUTE时,表示绝对位置;否则表示相对位置,1.0表示100%。

// toXType:动画结束后的X坐标类型。

// toXValue:动画结束后的X坐标值。

// fromYType:动画开始前的Y坐标类型。

// fromYValue:动画开始前的Y坐标值。

// toYType:动画结束后的Y坐标类型。

// toYValue:动画结束后的Y坐标值。

translateAnimation1.setDuration(1000);

translateAnimation1.setInterpolator(new DecelerateInterpolator());

translate_img.startAnimation(translateAnimation1);

translateAnimation1.setAnimationListener(new Animation.AnimationListener() {

@Override

public void onAnimationStart(Animation animation) {

//动画开始

}

@Override

public void onAnimationEnd(Animation animation) {

//动画结束

translate_img.clearAnimation();

}

@Override

public void onAnimationRepeat(Animation animation) {

//动画重复

}

});

}

}

6.3 translat_anim.xml

android:duration="1000">

android:fromYDelta="0%p"

android:toYDelta="80%p"/>

7.案例效果展示

8.项目地址

/SunMengLong/AnimatorDemo

相关阅读

几何画板是一个动态的课件制作工具,可以用来做各种图形的变换动画,所以数学老师借助它来讲课,那是非常方便的,还能帮助学生们提高学习

在我们的动画的制作中,由于一部分细致的k帧如人物表情,手部的活动是需要细致k帧的,而一些大的持续长的人体动作k起帧来比较麻烦,所以

【直接下载】大量精品儿童教育资源 英语 分级教材 动画电影 音频故事 绘本 自然拼音 读经诵读 无损音乐

【直接下载】大量精品儿

前言

animate.css 是一个有趣,酷炫的,跨浏览器的动画库,你可以将它用于你的项目中。不管是主页,滑动切换,又或者是其它方面,你都可以通

_(:з」∠)_都是每话保存的,第一次这样保存一部漫画,真花费数个小时才完成,需要的就下载

=-=-=-=-=-=-==-==-=-=-=-=-=-==-==-=-=

android image 位移动画_「translateanimation」Android 补间动画之平移动画TranslateAnimation - seo实验室...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。