Android Property Animation属性动画初识:透明渐变(1)

简介: Android Property Animation属性动画初识:透明渐变(1)Android Property Animation是Android从3.


Android Property Animation属性动画初识:透明渐变(1)

Android Property Animation是Android从3.0以后引入的更为强大、完备和便捷的完整动画解决方案,现在从一个小例子初始一下Android Property Animation,这个例子功能简单,只有一个activity,activity里面居中只显示一个Android TextView,为此application增加菜单,当点击菜单时候启动Android属性动画,该动画把这个TextView的透明度从1—>0.1—>1—>0.5—>1,TextView对象经历4次透明度渐变。
代码如下:

package zhangphil.anim;

import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class MainActivity extends Activity {

	private TextView text;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		text = (TextView) findViewById(R.id.text);
	}

	// 核心关键点,此处将实现属性动画的动画实际执行
	private void startPropertyAnim() {
		// 将直接把TextView这个view对象的透明度渐变。
		// 注意第二个参数:"alpha",指明了是透明度渐变属性动画
		// 透明度变化从1—>0.1—>1—>0.5—>1,TextView对象经历4次透明度渐变
		ObjectAnimator anim = ObjectAnimator.ofFloat(text, "alpha", 1f, 0.1f, 1f, 0.5f, 1f);

		anim.setDuration(5000);// 动画持续时间

		// 这里是一个回调监听,获取属性动画在执行期间的具体值
		anim.addUpdateListener(new AnimatorUpdateListener() {

			@Override
			public void onAnimationUpdate(ValueAnimator animation) {
				float value = (Float) animation.getAnimatedValue();
				Log.d("zhangphil", value + "");
			}
		});

		anim.start();
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		int id = item.getItemId();
		if (id == R.id.action_anim) {

			// 此处正式启动属性动画
			startPropertyAnim();

			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
}
相关文章
|
2月前
|
Android开发 容器
android animation clipToPadding clipChildren
android animation clipToPadding clipChildren
|
4月前
|
XML Java Android开发
Android App开发中集合动画和属性动画的讲解及实战演示(附源码 简单易懂 可直接使用)
Android App开发中集合动画和属性动画的讲解及实战演示(附源码 简单易懂 可直接使用)
50 0
Android App开发中集合动画和属性动画的讲解及实战演示(附源码 简单易懂 可直接使用)
|
XML Android开发 数据格式
|
API Android开发
Android动画——属性动画
在属性动画中,常用到的API有ValueAnimator,ObjectAnimator。 ValueAnimator:时间引擎,负责计算各个帧的属性值,基本上其他属性动画都会直接或间接继承它; ObjectAnimator: ValueAnimator 的子类,对指定对象的属性执行动画。
151 0
|
XML API Android开发
Android 属性动画Property Animation(中)
ValueAnimator指定整形、浮点型或者颜色值作为动画值,在一定时间内平滑过渡。可以通过ofInt(),ofFloat(),或ofObject()来或得一个ValueAnimator
|
XML Android开发 数据格式
Android View动画和属性动画
Android View动画和属性动画
Android View动画和属性动画
This project uses AndroidX dependencies, but the ‘android.useAndroidX‘ property is not enabled
This project uses AndroidX dependencies, but the ‘android.useAndroidX‘ property is not enabled
190 0
This project uses AndroidX dependencies, but the ‘android.useAndroidX‘ property is not enabled
This project uses AndroidX dependencies, but the ‘android.useAndroidX‘ property is not enabled
59 0
|
API Android开发
Android动画基础详析 | 属性动画基础及ValueAnimator
Android动画基础详析 | 属性动画基础及ValueAnimator