栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android控件Tween动画(补间动画)实现方法示例

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android控件Tween动画(补间动画)实现方法示例

本文实例讲述了Android控件Tween动画(补间动画)实现方法。分享给大家供大家参考,具体如下:

Android动画中的Tween动画:是把控件对象不断的进行图像变化来产生旋转、平移、放缩和渐变等动画效果。


public class TweenActivity extends Activity {
  private SeekBar seekBarX;// 拖动条控件
  private SeekBar seekBarY;
  private SeekBar scaleSeekBarX;
  private SeekBar scaleSeekBarY;
  private SeekBar rotationSeekBarX;
  private SeekBar rotationSeekBarY;
  private SeekBar rotationSeekBarZ;
  private Button button;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tween);
    initViews();
    initEvents();
  }
  
  private void initViews() {
    button = (Button) findViewById(R.id.button);
    seekBarX = (SeekBar) findViewById(R.id.translationX);
    seekBarX.setMax(400);
    seekBarY = (SeekBar) findViewById(R.id.translationY);
    seekBarY.setMax(800);
    scaleSeekBarX = (SeekBar) findViewById(R.id.scaleX);
    scaleSeekBarX.setMax(50);
    scaleSeekBarX.setProgress(10);
    scaleSeekBarY = (SeekBar) findViewById(R.id.scaleY);
    scaleSeekBarY.setMax(50);
    scaleSeekBarY.setProgress(10);
    rotationSeekBarX = (SeekBar) findViewById(R.id.rotationX);
    rotationSeekBarX.setMax(360);
    rotationSeekBarY = (SeekBar) findViewById(R.id.rotationY);
    rotationSeekBarY.setMax(360);
    rotationSeekBarZ = (SeekBar) findViewById(R.id.rotationZ);
    rotationSeekBarZ.setMax(360);
  }
  
  private void initEvents() {
    // 按钮X方向平移动画
    seekBarX.setonSeekBarChangeListener(new SeekBar.onSeekBarChangeListener() {
      public void onStopTrackingTouch(SeekBar seekBar) {
      }
      public void onStartTrackingTouch(SeekBar seekBar) {
      }
      public void onProgressChanged(SeekBar seekBar, int progress,
   boolean fromUser) {
 // X方向平移
 button.setTranslationX((float) progress);
      }
    });
    // 按钮Y方向平移动画
    seekBarY.setonSeekBarChangeListener(new SeekBar.onSeekBarChangeListener() {
      public void onStopTrackingTouch(SeekBar seekBar) {
      }
      public void onStartTrackingTouch(SeekBar seekBar) {
      }
      public void onProgressChanged(SeekBar seekBar, int progress,
   boolean fromUser) {
 // Y方向平移
 button.setTranslationY((float) progress);
      }
    });
    // 按钮X方向缩放动画
    scaleSeekBarX
 .setonSeekBarChangeListener(new SeekBar.onSeekBarChangeListener() {
   public void onStopTrackingTouch(SeekBar seekBar) {
   }
   public void onStartTrackingTouch(SeekBar seekBar) {
   }
   public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
     // X方向缩放
     button.setScaleX((float) progress / 10f);
   }
 });
    // 按钮Y方向缩放动画
    scaleSeekBarY
 .setonSeekBarChangeListener(new SeekBar.onSeekBarChangeListener() {
   public void onStopTrackingTouch(SeekBar seekBar) {
   }
   public void onStartTrackingTouch(SeekBar seekBar) {
   }
   public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
     // Y方向缩放
     button.setScaleY((float) progress / 10f);
   }
 });
    // 按钮X方向旋转动画
    rotationSeekBarX
 .setonSeekBarChangeListener(new SeekBar.onSeekBarChangeListener() {
   public void onStopTrackingTouch(SeekBar seekBar) {
   }
   public void onStartTrackingTouch(SeekBar seekBar) {
   }
   public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
     // X方向旋转
     button.setRotationX((float) progress);
   }
 });
    // 按钮Y方向旋转动画
    rotationSeekBarY
 .setonSeekBarChangeListener(new SeekBar.onSeekBarChangeListener() {
   public void onStopTrackingTouch(SeekBar seekBar) {
   }
   public void onStartTrackingTouch(SeekBar seekBar) {
   }
   public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
     // Y方向旋转
     button.setRotationY((float) progress);
   }
 });
    // 按钮Z方向旋转动画
    rotationSeekBarZ
 .setonSeekBarChangeListener(new SeekBar.onSeekBarChangeListener() {
   public void onStopTrackingTouch(SeekBar seekBar) {
   }
   public void onStartTrackingTouch(SeekBar seekBar) {
   }
   public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
     // 设置旋转
     button.setRotation((float) progress);
   }
 });
  }
}

布局文件R.layout.activity_tween



  
    
    
    
    
  
  
    
    
    
    
  
  
    
    
    
    
    
    
  
  

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发动画技巧汇总》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/158099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号