继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android应用中的动画详细使用教程

哈士奇WWW
关注TA
已关注
手记 511
粉丝 71
获赞 400

1.1。使用动画
Android允许改变对象的属性,在一定的时间间隔通过性能动画API。

动画的父类的API是动画师 类。objectanimator类可以用来修改对象的属性。

You can also add ananimatorlistener班你动画师类。 听众称为阶段的在不同的动画。 可以使用此执行操作或后前听众一定的动画,如添加或意见从一个ViewGroup。

这个(动画)方法一意见对象返回一个viewpropertyanimator为视图对象。 它提供一个API的动画可以执行典型的。

下面的代码显示了一个例子。

myView.animate().translationX(400);// if an animation is slow you can try to activate a hardware layer which// uses a cache// watch-out: this might not always result in a correct animationmyView.animate().translationX(400).withLayer();

你也可以登记行动,这是开始前或结束后执行的动画。

// StartActionmyView.animate().translationX(100).withStartAction(new Runnable(){    public void run(){
        viewer.setTranslationX(100-myView.getWidth());        // do something
    }
});// EndActionmyView.animate().alpha(0).withEndAction(new Runnable(){    public void run(){        // rRemove the view from the parent layout
        parent.removeView(myView);
    }
});

1.2。定义动画的变化率
通过setinterpolator()你登记的方法timeinterpolator一个动画对象。 率定义的变化为。

标准是线性的。 Android平台定义了一些默认的 为例。acceleratedecelerateinterpolator类定义了动画的开始和结束 慢慢加速通过中间。

1.3。使用动画任意属性
动画系统不能自动理解每种类型 通过。setevaluator方法可以设置类型的对象TypeEvaluator它允许任意。 动画创作类型,评估这些通过提供定制。

1.4。布局的动画
这个layouttransition类允许设置动画在布局容器和 的 视图层次 这个集装箱将动画的变化。

package com.example.android.layoutanimation;import android.animation.LayoutTransition;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.Button;public class MainActivity extends Activity {    private ViewGroup viewGroup;    @Override
    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LayoutTransition l = new LayoutTransition();
        l.enableTransitionType(LayoutTransition.CHANGING);
        viewGroup = (ViewGroup) findViewById(R.id.container);
        viewGroup.setLayoutTransition(l);

    }    public void onClick(View view) {
        viewGroup.addView(new Button(this));
    }    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);        return true;
    }
}

1.5。活动过渡动画
动画可以应用于意见但它也有可能将这些活动之间的过渡。

这个activityoptions类可以定义默认值或用户的动画。

public void onClick(View view) {
    Intent intent = new Intent(this, SecondActivity.class);
    ActivityOptions options = ActivityOptions.makeScaleUpAnimation(view, 0,            0, view.getWidth(), view.getHeight());
    startActivity(intent, options.toBundle());
}

原文链接:http://www.apkbus.com/blog-920677-76731.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP