zoukankan      html  css  js  c++  java
  • 平移动画效果

    img_change.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    
                    // TODO Auto-generated method stub
                    final String startname = tv_start.getText().toString();
                    final String finalname = tv_final.getText().toString();
                    //设置平移动画
                    TranslateAnimation translateAnimation = new TranslateAnimation(0, 150,0, 0);
                    //采用加速方式
                    translateAnimation.setInterpolator(new AccelerateInterpolator());
                    //耗时
                    translateAnimation.setDuration(3000);
                    translateAnimation.setAnimationListener(new AnimationListener() {
                        
                        @Override
                        public void onAnimationStart(Animation animation) {
                            // TODO Auto-generated method stub
                            
                        }
                        
                        @Override
                        public void onAnimationRepeat(Animation animation) {
                            // TODO Auto-generated method stub
                            
                        }
                        
                        @Override
                        public void onAnimationEnd(Animation animation) {
                            // TODO Auto-generated method stub
                            tv_start.setText(finalname);
                        }
                        
                    });
                    TranslateAnimation translateAnimation1 = new TranslateAnimation(0, -150,0, 0);
                    //采用加速方式
                    translateAnimation1.setInterpolator(new AccelerateInterpolator());
                    //耗时
                    translateAnimation1.setDuration(300);
                    translateAnimation1.setAnimationListener(new AnimationListener() {
                        
                        @Override
                        public void onAnimationStart(Animation animation) {
                            // TODO Auto-generated method stub
                            
                        }
                        
                        @Override
                        public void onAnimationRepeat(Animation animation) {
                            // TODO Auto-generated method stub
                            
                        }
                        
                        @Override
                        public void onAnimationEnd(Animation animation) {
                            // TODO Auto-generated method stub
                            tv_final.setText(startname);
                        }
                    });
                    tv_final.startAnimation(translateAnimation1);
                    tv_start.startAnimation(translateAnimation);
                }
                
            });

    首先要把对象创建出来,参数为表示动画开始离当前view的x值,动画结束里当前view的x值,动画开始离当前view的y值,动画结束离当前view的y值

    TranslateAnimation translateAnimation = new TranslateAnimation(0, 150,0, 0);

    设置移动的方式,加速 匀速

    translateAnimation.setInterpolator(new AccelerateInterpolator());

    设置动画用时 

    translateAnimation.setDuration(300);

    最后实现监听,在监听里有三个方法,分别是动画开始,动画重叠,动画的结束

    translateAnimation.setAnimationListener(new AnimationListener() {
         
         @Override
         public void onAnimationStart(Animation animation) {
          // TODO Auto-generated method stub
          
         }
         
         @Override
         public void onAnimationRepeat(Animation animation) {
          // TODO Auto-generated method stub
          
         }
         
         @Override
         public void onAnimationEnd(Animation animation) {
          // TODO Auto-generated method stub
          tv_start.setText(finalname);
         }

    最后开始动画就可以了

     tv_final.startAnimation(translateAnimation1);

  • 相关阅读:
    Windows Phone 7 利用计时器DispatcherTimer创建时钟
    杭电1163 Eddy's digital Roots
    随感1
    杭电 1194 Beat the Spread!
    杭电 1017 A Mathematical Curiosity
    杭电1202 The calculation of GPA
    关于递归的思想
    杭电1197 Specialized FourDigit Numbers
    杭电 1062 Text Reverse
    杭电1196 Lowest Bit
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/4913866.html
Copyright © 2011-2022 走看看