Android属性动画的监听事件

整体很简单,直接上代码吧。activity_main.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     tools:context="com.example.administrator.animator_demo2.MainActivity">
 7
 8     <Button
 9         android:id="@+id/btn_click"
10         android:layout_width="wrap_content"
11         android:layout_height="wrap_content"
12         android:layout_centerInParent="true"
13         android:text="Click" />
14
15 </RelativeLayout>

然后是JAVA代码,MainActivity.java:

 1 package com.example.administrator.animator_demo2;
 2
 3 import android.animation.Animator;
 4 import android.animation.AnimatorListenerAdapter;
 5 import android.animation.ObjectAnimator;
 6 import android.os.Bundle;
 7 import android.support.v7.app.AppCompatActivity;
 8 import android.view.View;
 9 import android.widget.Button;
10 import android.widget.Toast;
11
12 public class MainActivity extends AppCompatActivity implements View.OnClickListener {
13
14     private Button btn_click;
15
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity_main);
20         initView();
21     }
22
23     private void initView() {
24         btn_click = (Button) findViewById(R.id.btn_click);
25         btn_click.setOnClickListener(this);
26     }
27
28     @Override
29     public void onClick(View v) {
30         switch (v.getId()) {
31             case R.id.btn_click:
32 //                startAnimator1();
33                 /**
34                  * startAnimator1()方法当中,一下就重写了四个监听方法,在因为有的时候,我们
35                  * 我们并不需要监听那么多,只需要其中的onAnimationEnd()方法。
36                  * 那这时我们会选择用startAnimator2()的方式。(两种执行效果相同)
37                  * */
38                 startAnimator2();
39                 break;
40         }
41     }
42
43     private void startAnimator1() {
44         //透明动画
45         ObjectAnimator animator = ObjectAnimator.ofFloat(btn_click, "alpha", 0F, 1F);
46         animator.setDuration(1000);
47         //为动画设置监听
48         animator.addListener(new Animator.AnimatorListener() {
49             @Override
50             public void onAnimationStart(Animator animation) {
51
52             }
53
54             @Override
55             public void onAnimationEnd(Animator animation) {
56                 /**
57                  * 大部分情况下,我们都要监听的是这个,在动画结束后,执行什么操作
58                  * 这里,我们只弹出一个Toast。
59                  * */
60                 Toast.makeText(MainActivity.this, "动画执行结束", Toast.LENGTH_SHORT).show();
61             }
62
63             @Override
64             public void onAnimationCancel(Animator animation) {
65
66             }
67
68             @Override
69             public void onAnimationRepeat(Animator animation) {
70
71             }
72         });
73         animator.start();
74     }
75
76     private void startAnimator2() {
77         //透明动画
78         ObjectAnimator animator = ObjectAnimator.ofFloat(btn_click, "alpha", 0F, 1F);
79         animator.setDuration(1000);
80         //为动画设置监听
81         animator.addListener(new AnimatorListenerAdapter() {
82             @Override
83             public void onAnimationEnd(Animator animation) {
84                 super.onAnimationEnd(animation);
85                 Toast.makeText(MainActivity.this, "动画执行结束", Toast.LENGTH_SHORT).show();
86             }
87         });
88         animator.start();
89     }
90 }
时间: 2024-10-05 08:45:42

Android属性动画的监听事件的相关文章

Android 四种绑定监听事件的方式

1. 直接通过id查找后,绑定匿名内部类作为事件监听类.代码如下: Button loginButton = (Button) findViewById(R.id.tologin1); btn1.setOnclickListener(new OnclickListener(){ public void onClick(View v){ // 要执行的操作 } }); 这种方法有好也有不好,好的是比较直观方便,不好的是,如果按钮多了,代码看起来比较乱. 2. 实现点击事件的接口,然后一个个按钮地去

Android 给按钮添加监听事件

在安卓开发中,如果要给一个按钮添加监听事件的话,有以下三种实现方式 1.方式一 public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取button按钮 Butt

android alertdialog 自定义button监听事件

AlertDialog Dialog = new AlertDialog.Builder(Huntinfo.this).create(); Dialog.show(); Dialog.getWindow().setGravity(Gravity.BOTTOM); Dialog.getWindow().setLayout( android.view.WindowManager.LayoutParams.FILL_PARENT, android.view.WindowManager.LayoutPa

Android属性动画之ValueAnimation

ValueAnimation是ObjectAnimation类的父类,经过前几天的介绍,相信大家对ObjectAnimation有了 一定的认识,今天就为大家最后介绍一下ValueAnimation,ValueAnimation谷歌提供了更好的过程控制,现在就以一个类计时的小动画为大家简单介绍一下: 应用的布局文件非常简单,只有一个Button按钮,就不再赘述了.下面重点介绍一下具体的实现: public void init() { button = (Button) findViewById(

Android 属性动画 详解

认识属性动画 传统动画Animation平移方法的实现 TranslateAnimation animation = new TranslateAnimation(x轴初始位置,x轴终止位置,y轴初始位置,y轴终止位置); animation.setDuration(1000);//设置持续时间,ms单位 animation.setFillAfter(true);//设置动画结束后状态,true为保持最终状态 imageView.startAnimation(animation);//为控件添加

Android属性动画Property Animation系列一之ValueAnimator

Android动画分类 市面上的很多APP都用到动画效果,动画效果用的好可以提升用户的体验度.那么Android系统都有哪些机制的动画呢? 1.逐帧动画(frame-by-frame animation).逐帧动画的工作原理很简单,其实就是将一个完整的动画拆分成一张张单独的图片,然后再将它们连贯起来进行播放,类似于动画片的工作原理. 2.补间动画(tweened animation)则是可以对View进行一系列的动画操作,包括淡入淡出.缩放.平移.旋转四种. 3.属性动画Property Ani

Android 属性动画监听事件与一个菜单的例子

简单监听事件 package com.example.animation; import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimat

Android 动画监听事件

public class GuideActivity extends Activity { // 显示图片的ImageView组件 private ImageView guidePicture; // 要展示的一组图片资源 private Drawable[] pictures; // 每张展示图片要执行的一组动画效果 private Animation[] animations; // 当前执行的是第几张图片(资源索引) private int currentItem = 0; @Overri

Android中Button的五种监听事件

简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activity本身作为事件监听器,实现onClickListener5.外部类作为监听器 ButtonListenerActivity.class public class ButtonListenerActivity extends AppCompatActivity implements View.On