逐帧动画FrameAnimation和汤姆猫小例子

阅读: 评论:0

逐帧动画FrameAnimation和汤姆猫小例子

逐帧动画FrameAnimation和汤姆猫小例子

汤姆猫图片

package xena.act;import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
aphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;
import android.os.Build;public class MainActivity extends Activity implements OnClickListener {private LinearLayout linearLayout;private AnimationDrawable anim;private Button start_btn, stop_btn;@Overrideprotected void onCreate(Bundle savedInstanceState) {Create(savedInstanceState);setContentView(R.layout.activity_main);this.start_btn = (Button) this.findViewById(R.id.start_btn);this.stop_btn = (Button) this.findViewById(R.id.stop_btn);this.start_btn.setOnClickListener(this);this.stop_btn.setOnClickListener(this);this.linearLayout = (LinearLayout) this.findViewById(R.id.linearLayout);//获取动画  3this.anim = (AnimationDrawable) Background();//设置播次数,不设置默认为false  4this.anim.setOneShot(false);//设置播放次数  false为循环播放, true为只播放一次}@Overridepublic void onClick(View v) {Id() == R.id.start_btn) {//开始播放动画this.anim.start();//得到动画播放一次的时间=每张图片的停留时间之和+代码执行时间//定时执行complete方法}else Id() == R.id.stop_btn) {//停止播放动画this.anim.stop();}}public void complete() {Toast.makeText(this, "播放完毕", Toast.LENGTH_LONG).show();}
}
<pre name="code" class="html"><LinearLayout xmlns:android=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:id="@+id/linearLayout"android:background="@drawable/breath_anim"><Buttonandroid:id="@+id/start_btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="开始播放" /><Buttonandroid:id="@+id/stop_btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="停止播放" /></LinearLayout>


 
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="" ><!-- android:drawable 引入系统资源图片 --><!-- android:duration 每张图片的显示时间  单位毫秒 --><itemandroid:drawable="@drawable/breath_0001"android:duration="60"/><itemandroid:drawable="@drawable/breath_0002"android:duration="60"/><itemandroid:drawable="@drawable/breath_0003"android:duration="60"/><itemandroid:drawable="@drawable/breath_0004"android:duration="60"/><itemandroid:drawable="@drawable/breath_0005"android:duration="60"/><itemandroid:drawable="@drawable/breath_0006"android:duration="60"/><itemandroid:drawable="@drawable/breath_0007"android:duration="60"/><itemandroid:drawable="@drawable/breath_0008"android:duration="60"/><itemandroid:drawable="@drawable/breath_0009"android:duration="60"/><itemandroid:drawable="@drawable/breath_0010"android:duration="60"/><itemandroid:drawable="@drawable/breath_0011"android:duration="60"/><itemandroid:drawable="@drawable/breath_0012"android:duration="60"/><itemandroid:drawable="@drawable/breath_0013"android:duration="60"/><itemandroid:drawable="@drawable/breath_0014"android:duration="60"/><itemandroid:drawable="@drawable/breath_0015"android:duration="60"/><itemandroid:drawable="@drawable/breath_0016"android:duration="60"/><itemandroid:drawable="@drawable/breath_0017"android:duration="60"/><itemandroid:drawable="@drawable/breath_0018"android:duration="60"/><itemandroid:drawable="@drawable/breath_0019"android:duration="60"/><itemandroid:drawable="@drawable/breath_0020"android:duration="60"/><itemandroid:drawable="@drawable/breath_0021"android:duration="60"/><itemandroid:drawable="@drawable/breath_0022"android:duration="60"/><itemandroid:drawable="@drawable/breath_0023"android:duration="60"/><itemandroid:drawable="@drawable/breath_0024"android:duration="60"/><itemandroid:drawable="@drawable/breath_0025"android:duration="60"/><itemandroid:drawable="@drawable/breath_0026"android:duration="60"/>
</animation-list>


 /***************************************************开辟子线程设置监听***************************************************************************************************************/ 

package xena.act;import java.util.Timer;
import java.util.TimerTask;import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
aphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Looper;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;
import android.os.Build;public class MainActivity extends Activity implements OnClickListener {private LinearLayout linearLayout;private AnimationDrawable anim;private Button start_btn, stop_btn;@Overrideprotected void onCreate(Bundle savedInstanceState) {Create(savedInstanceState);setContentView(R.layout.activity_main);this.start_btn = (Button) this.findViewById(R.id.start_btn);this.stop_btn = (Button) this.findViewById(R.id.stop_btn);this.start_btn.setOnClickListener(this);this.stop_btn.setOnClickListener(this);this.linearLayout = (LinearLayout) this.findViewById(R.id.linearLayout);//设置动画背景this.linearLayout.setBackgroundResource(R.drawable.breath_anim);//获取动画  3this.anim = (AnimationDrawable) Background();//设置播次数,不设置默认为false  4this.anim.setOneShot(true);//设置播放次数  false为循环播放, true为只播放一次}@Overridepublic void onClick(View v) {Id() == R.id.start_btn) {//开始播放动画this.anim.start(); //5int time_totle = 150;//表示动画播放时间//得到动画播放一次的时间=每张图片的停留时间之和+代码执行时间int item_totle = NumberOfFrames();for(int index=0; index<item_totle; index++) {time_totle += Duration(index);}final Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {//子线程complete();timer.cancel();}}, time_totle);//定时执行complete方法}else Id() == R.id.stop_btn) {//停止播放动画this.anim.stop();  //5}}public void complete() {//子线程Looper.prepare();Toast.makeText(this, "播放完毕", Toast.LENGTH_LONG).show();this.anim.stop();Looper.loop();}
}

汤姆猫例子
汤姆猫实例图片以及XML

package xena.act;
import android.app.Activity;
aphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.RelativeLayout;
/**
NumberOfFrames();//返回帧动画的帧数,即图片数量
Duration(5);//返回参数表示的下标对应的帧的停止时间*/
public class MainActivity extends Activity {private RelativeLayout relativeLayout;private AnimationDrawable anim;//帧动画对象@Overrideprotected void onCreate(Bundle savedInstanceState) {Create(savedInstanceState);setContentView(R.layout.activity_main);lativeLayout = (RelativeLayout) this.findViewById(RelativeLayout);lativeLayout.setBackgroundResource(R.drawable.breath);//设置帧动画this.anim = (AnimationDrawable) Background();//取出帧动画this.anim.setOneShot(false);//设置为循环播放this.anim.start();//开始播放}public void eye(View v) {//铵钮监听方法this.play(R.drawable.fart);}public void dz(View v) {//铵钮监听方法this.play(R.drawable.poke_left);}//放放public void play(int resID) {this.anim.stop();lativeLayout.setBackgroundResource(resID);//设置帧动画this.anim = (AnimationDrawable) Background();//取出帧动画this.anim.setOneShot(true);this.anim.start();int time = 150;for(int i=0; i<NumberOfFrames(); i++) {time = time + Duration(i);}Handler handler = new Handler();handler.postDelayed(new Runnable() {//延迟time毫秒之后触发run方法的执行@Overridepublic void run() {//主线程MainActivity.this.anim.stop();lativeLayout.setBackgroundResource(R.drawable.breath);//设置帧动画MainActivity.this.anim = (AnimationDrawable) Background();//取出帧动画MainActivity.this.anim.setOneShot(false);//设置为循环播放MainActivity. this.anim.start();//开始播放}}, time);}
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:id="@+id/myRelativeLayout"><Buttonandroid:onClick="eye"android:layout_width="30dp"android:layout_height="wrap_content"android:text="眼睛"android:layout_marginTop="100dp"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:background="#ffff0000"android:id="@+id/button" /><Buttonandroid:onClick="dz"android:background="#ffff0000"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="肚子"android:layout_alignParentBottom="true"android:layout_alignStart="@+id/button"android:layout_marginBottom="117dp" />
</RelativeLayout>

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="" ><!-- android:duration 每张图片的显示时间  单位毫秒 --><itemandroid:drawable="@drawable/breath_0001"android:duration="30"/><itemandroid:drawable="@drawable/breath_0002"android:duration="30"/><itemandroid:drawable="@drawable/breath_0003"android:duration="30"/><itemandroid:drawable="@drawable/breath_0004"android:duration="30"/><itemandroid:drawable="@drawable/breath_0005"android:duration="30"/><itemandroid:drawable="@drawable/breath_0006"android:duration="30"/><itemandroid:drawable="@drawable/breath_0007"android:duration="30"/><itemandroid:drawable="@drawable/breath_0008"android:duration="30"/><itemandroid:drawable="@drawable/breath_0009"android:duration="30"/><itemandroid:drawable="@drawable/breath_0010"android:duration="30"/><itemandroid:drawable="@drawable/breath_0011"android:duration="30"/><itemandroid:drawable="@drawable/breath_0012"android:duration="30"/><itemandroid:drawable="@drawable/breath_0013"android:duration="30"/><itemandroid:drawable="@drawable/breath_0014"android:duration="30"/><itemandroid:drawable="@drawable/breath_0015"android:duration="30"/><itemandroid:drawable="@drawable/breath_0016"android:duration="30"/><itemandroid:drawable="@drawable/breath_0017"android:duration="30"/><itemandroid:drawable="@drawable/breath_0018"android:duration="30"/><itemandroid:drawable="@drawable/breath_0019"android:duration="30"/><itemandroid:drawable="@drawable/breath_0020"android:duration="30"/><itemandroid:drawable="@drawable/breath_0021"android:duration="30"/><itemandroid:drawable="@drawable/breath_0022"android:duration="30"/><itemandroid:drawable="@drawable/breath_0023"android:duration="30"/><itemandroid:drawable="@drawable/breath_0024"android:duration="30"/><itemandroid:drawable="@drawable/breath_0025"android:duration="30"/><itemandroid:drawable="@drawable/breath_0026"android:duration="30"/>
</animation-list>

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="" ><!-- android:drawable 引入系统资源图片 --><!-- android:duration 每张图片的显示时间  单位毫秒 --><itemandroid:drawable="@drawable/fart_0001"android:duration="30"/><itemandroid:drawable="@drawable/fart_0002"android:duration="30"/><itemandroid:drawable="@drawable/fart_0003"android:duration="30"/><itemandroid:drawable="@drawable/fart_0004"android:duration="30"/><itemandroid:drawable="@drawable/fart_0005"android:duration="30"/><itemandroid:drawable="@drawable/fart_0006"android:duration="30"/><itemandroid:drawable="@drawable/fart_0007"android:duration="30"/><itemandroid:drawable="@drawable/fart_0008"android:duration="30"/><itemandroid:drawable="@drawable/fart_0009"android:duration="30"/><itemandroid:drawable="@drawable/fart_0010"android:duration="30"/><itemandroid:drawable="@drawable/fart_0011"android:duration="30"/><itemandroid:drawable="@drawable/fart_0012"android:duration="30"/><itemandroid:drawable="@drawable/fart_0013"android:duration="30"/><itemandroid:drawable="@drawable/fart_0014"android:duration="30"/><itemandroid:drawable="@drawable/fart_0015"android:duration="30"/><itemandroid:drawable="@drawable/fart_0016"android:duration="30"/><itemandroid:drawable="@drawable/fart_0017"android:duration="30"/><itemandroid:drawable="@drawable/fart_0018"android:duration="30"/><itemandroid:drawable="@drawable/fart_0019"android:duration="30"/><itemandroid:drawable="@drawable/fart_0020"android:duration="30"/><itemandroid:drawable="@drawable/fart_0021"android:duration="30"/><itemandroid:drawable="@drawable/fart_0022"android:duration="30"/><itemandroid:drawable="@drawable/fart_0023"android:duration="30"/><itemandroid:drawable="@drawable/fart_0024"android:duration="30"/><itemandroid:drawable="@drawable/fart_0025"android:duration="30"/><itemandroid:drawable="@drawable/fart_0026"android:duration="30"/><itemandroid:drawable="@drawable/fart_0027"android:duration="30"/><itemandroid:drawable="@drawable/fart_0028"android:duration="30"/><itemandroid:drawable="@drawable/fart_0029"android:duration="30"/><itemandroid:drawable="@drawable/fart_0030"android:duration="30"/><itemandroid:drawable="@drawable/fart_0031"android:duration="30"/><itemandroid:drawable="@drawable/fart_0032"android:duration="30"/><itemandroid:drawable="@drawable/fart_0033"android:duration="30"/><itemandroid:drawable="@drawable/fart_end_0034"android:duration="30"/><itemandroid:drawable="@drawable/fart_end_0035"android:duration="30"/><itemandroid:drawable="@drawable/fart_end_0036"android:duration="30"/><itemandroid:drawable="@drawable/fart_end_0037"android:duration="30"/><itemandroid:drawable="@drawable/fart_end_0038"android:duration="30"/></animation-list>

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="" ><!-- android:drawable 引入系统资源图片 --><!-- android:duration 每张图片的显示时间  单位毫秒 --><itemandroid:drawable="@drawable/poke_belly_left_0001"android:duration="30"/><itemandroid:drawable="@drawable/poke_belly_left_0002"android:duration="30"/><itemandroid:drawable="@drawable/poke_belly_left_0003"android:duration="30"/><itemandroid:drawable="@drawable/poke_belly_left_0004"android:duration="30"/><itemandroid:drawable="@drawable/poke_belly_left_0005"android:duration="30"/><itemandroid:drawable="@drawable/poke_belly_left_0006"android:duration="30"/><itemandroid:drawable="@drawable/poke_belly_left_0007"android:duration="30"/><itemandroid:drawable="@drawable/poke_belly_left_0008"android:duration="30"/></animation-list>



本文发布于:2024-02-04 22:52:12,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170718203160462.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:汤姆   例子   动画   FrameAnimation
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23