package com.example.frame_animation;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;import android.view.inputmethod.EditorInfo;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.TextView;/** * 帧动画示例 * 出自:http://blog.csdn.net/aminfo/article/details/7847761 *  * @author chenwenbiao * @date 2013-12-2 下午7:37:07 * @version V1.0 */public class MainActivity extends Activity {private  String TAG = "MainActivity";private ImageView animationIV;private Button playButton , stopButton;private AnimationDrawable animationDrawable;/** * 指定播放时长(单位:秒) */private EditText timeEditText ;/** * 等播放的图片 */private int[] images = { R.drawable.audio_one, R.drawable.audio_two ,R.drawable.audio_three};/** * 设置了新播放时间 */private boolean newTime = true;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(R.layout.activity_main);                               animationIV = (ImageView) findViewById(R.id.animationIV);        playButton = (Button) findViewById(R.id.buttonA);        stopButton = (Button) findViewById(R.id.buttonB);        timeEditText = (EditText) findViewById(R.id.timeEditText);        timeEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Overridepublic boolean onEditorAction(TextView v, int actionId, KeyEvent event) {if (actionId == EditorInfo.IME_ACTION_GO) { Log.d(TAG , "heheh");                }Log.d(TAG , "actionId :" + actionId);                 return false;}         });animationIV.setImageResource(R.anim.animation3);animationDrawable = (AnimationDrawable) animationIV.getDrawable();animationDrawable.setOneShot(true);        playButton.setOnClickListener(new OnClickListener()        {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubif(newTime){int runTime = Integer.parseInt(timeEditText.getText().toString()) * 1000;//转为秒Log.d(TAG , "runTime:" + runTime);int loop = 0;if(runTime > 600){runTime -= 600;//默认完整动画播放时间是0.6秒,loop = runTime / 600 + 1;//计算还需要多少播放多少次动画}Log.d(TAG , "loop:" + loop);for(int i = 0 ; i < loop ; i++){for(int j = 0 ; j < 3 ; j++){animationDrawable.addFrame(getResources().getDrawable(images[j]), 200); }}newTime = false;}animationDrawable.stop();animationDrawable.start();}                });                 stopButton.setOnClickListener(new OnClickListener()        {@Overridepublic void onClick(View v) {animationDrawable.stop();}                });                    }       }

 

完整代码见附件。

 

更多相关文章

  1. android gallery 画廊控件示例
  2. Android(安卓)异步操全示例
  3. 动画
  4. android-----简单的音乐播放器
  5. android 音乐播放器v1.0
  6. 垂直滚动跑马灯AutoScrollTextView
  7. 模拟抽奖的九宫格动画效果
  8. Android开机动画视频
  9. Android(安卓)SQLite数据库操作代码类分享

随机推荐

  1. Android搜索框架
  2. Android(安卓)Activity LaunchMode 验证
  3. Activity生命周期讲解
  4. 国内几大Android应用市场试用小记――开
  5. Android O 前期预研之一:Android Treble
  6. android异步操作类AsyncTask的使用详解
  7. Android(安卓)Mms专题之:Mms概览介绍
  8. 别人花了6000元学的Android高级技术,全都
  9. 文件修改如何简单修改Android的so文件
  10. 关于Android中drawable必知的一些规则