android 动画实现 xml属性配置说明 AnimUtil工具类

本文介绍了在Android中如何使用Tween动画来实现文字滚动效果,通过创建一个AnimUtil工具类来便捷地处理View的动画效果,工具类内集成了Handler以方便界面更新。详细讲解了XML配置文件中Alpha、Scale、Translate、Rotate等动画属性及其用法,如fromXScale、toYScale、pivotX/Y、fillAfter等,同时也提到了动画的插入器interpolator、透明度变化以及持续时间duration的设置。
摘要由CSDN通过智能技术生成

项目需求:要求实现文字滚动的效果,考虑到在android 中对动画的实现有Tween和Flame两种方式,查阅资料以后发现还是需要使用Tween的方式,写了一个工具类AnimUtil,通过调用工具类实现View的动画效果,并且为了方便对View的界面更新,AnimUtil还集成自Handler。具体参考代码如下:

package com.vtion.sleb.banca.utils;

import android.content.Context;
import android.os.Handler;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;

import com.vtion.sleb.activities.R;

public class AnimUtils extends Handler implements AnimationListener {

	private View view;
	private Animation anim_right;
	private Animation anim_left;

	public AnimUtils(View view, Context context) {
		anim_right = AnimationUtils.loadAnimation(context, R.anim.right_in);
		anim_left = AnimationUtils.loadAnimation(context, R.anim.left_out);
		anim_right.setAnimationListener(this);
		anim_right.setFillAfter(true);
		anim_left.setFillAfter(true);
		this.view = view;
		this.view.startAnimation(anim_right);
	}

	@Override
	public void onAnimationEnd(Animation animation) {
		this.postDelayed(new Runnable() {

			@Override
			public void run() {
				view.startAnimation(anim_left);
			}
		}, 2000);
	}

	@Override
	public void onAnimationRepeat(Animation animation) {

	}

	@Override
	public void onAnimationStart(Animation animation) {
		System.out.println();
		System.out.println();
	}

}


anim文件夹下存放着和动画相关的xml配置文件:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="700"
        android:fromXDelta="100%p"
        android:toXDelta="50%p" />

    <alpha
        android:duration="700"
        android:fromAlpha="0.1"
        android:toAlpha="1.0" />

</set>


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="700"
        android:fromXDelta="5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值