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;
	}
}
相关文章
|
5月前
|
XML Java Android开发
Android App开发中集合动画和属性动画的讲解及实战演示(附源码 简单易懂 可直接使用)
Android App开发中集合动画和属性动画的讲解及实战演示(附源码 简单易懂 可直接使用)
31 0
Android App开发中集合动画和属性动画的讲解及实战演示(附源码 简单易懂 可直接使用)
|
10月前
|
XML Java Android开发
|
10月前
|
XML Android开发 数据格式
|
12月前
|
API Android开发
Android动画——属性动画
在属性动画中,常用到的API有ValueAnimator,ObjectAnimator。 ValueAnimator:时间引擎,负责计算各个帧的属性值,基本上其他属性动画都会直接或间接继承它; ObjectAnimator: ValueAnimator 的子类,对指定对象的属性执行动画。
114 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
54 0
|
Android开发
日常开发 | Android设置属性动画无限旋转
说简单点 Animator 并不负责动画,它只是负责计算不同时间线该有的值,从而让用户自己去设置,可扩展性更强。
298 0
|
API Android开发
Android动画基础详析 | 属性动画基础及ValueAnimator
Android动画基础详析 | 属性动画基础及ValueAnimator
|
Android开发 内存技术
Android动画(帧动画、补间动画、属性动画)讲解
帧动画:是一种常见的动画形式(Frame By Frame),其原理是在“连续的关键帧”中分解动画动作,也就是在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成动画。 补间动画:指的是做FLASH动画时,在两个关键帧中间需要做“补间动画”,才能实现图画的运动; 属性动画:帧动画与补间动画实现了对View进行移动、缩放、旋转和淡入淡出的效果。但对于android开发师来说是不够的,同时移动、缩放、旋转和淡入淡出的效果也不再只是一种视觉上的动画效果了。所以从Android 3.0版本开始,系统给我们提供了一种全新的动画模式,属性动画(property animation)。
275 0
Android动画(帧动画、补间动画、属性动画)讲解