设为首页收藏本站

SKY外语、计算机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: rogan
打印 上一主题 下一主题

[代码分享] 安卓frame动画

[复制链接]

65

主题

3

好友

739

积分

超级版主

Rank: 8Rank: 8

自我介绍
新年第一天据说有雨,全民齐赏日出的计划恐要泡汤。”宋仁宗拍着包拯的肩,“朕决定把你悬挂在城门上。”“但微臣额上的不是太阳是月亮啊!”“没事,挂久一点就会升级成太阳
生肖
星座
狮子座
性别

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 论坛元老

跳转到指定楼层
楼主
发表于 2013-5-18 12:14:41 |只看该作者 |倒序浏览
Activity01.java
  1. package com.yarin.android.Examples_05_17;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.KeyEvent;

  5. public class Activity01 extends Activity
  6. {
  7.         private GameView        mGameView;
  8.         /** Called when the activity is first created. */
  9.         @Override
  10.         public void onCreate(Bundle savedInstanceState)
  11.         {
  12.                 super.onCreate(savedInstanceState);
  13.                
  14.                 mGameView = new GameView(this);
  15.                
  16.                 setContentView(mGameView);
  17.         }
  18.        
  19.        
  20. }
复制代码
GameView .java


  1. package com.yarin.android.Examples_05_17;

  2. import android.content.Context;
  3. import android.graphics.Canvas;
  4. import android.graphics.drawable.AnimationDrawable;
  5. import android.graphics.drawable.Drawable;
  6. import android.view.KeyEvent;
  7. import android.view.MotionEvent;
  8. import android.view.View;

  9. public class GameView extends View {
  10.         /* 定义AnimationDrawable动画 */
  11.         private AnimationDrawable frameAnimation = null;
  12.         Context mContext = null;

  13.         /* 定义一个Drawable对象 */
  14.         Drawable mBitAnimation = null;

  15.         public GameView(Context context) {
  16.                 super(context);
  17.                 mContext = context;

  18.                 /* 实例化AnimationDrawable对象 */
  19.                 frameAnimation = new AnimationDrawable();

  20.                 /* 装载资源 */
  21.                 // 这里用一个循环了装载所有名字类似的资源
  22.                 // 如“a1.......15.png”的图片
  23.                 // 这个方法用处非常大
  24.                 for (int i = 1; i <= 15; i++)
  25.                 {
  26.                         int id = getResources().getIdentifier("a" + i, "drawable", mContext.getPackageName());
  27.                         mBitAnimation = getResources().getDrawable(id);
  28.                         /* 为动画添加一帧 */
  29.                         // 参数mBitAnimation是该帧的图片
  30.                         // 参数500是该帧显示的时间,按毫秒计算
  31.                         frameAnimation.addFrame(mBitAnimation, 500);
  32.                 }

  33.                 /* 设置播放模式是否循环false表示循环而true表示不循环 */
  34.                 frameAnimation.setOneShot(false);

  35.                 /* 设置本类将要显示这个动画 */
  36.                 this.setBackgroundDrawable(frameAnimation);
  37.         }

  38.         public void onDraw(Canvas canvas) {
  39.                 super.onDraw(canvas);

  40.         }

  41.         @Override
  42.         public boolean onTouchEvent(MotionEvent event) {
  43.                 frameAnimation.start();
  44.                 return super.onTouchEvent(event);
  45.         }

  46.         public boolean onKeyUp(int keyCode, KeyEvent event) {
  47.                 switch (keyCode) {
  48.                 case KeyEvent.KEYCODE_DPAD_UP:
  49.                         /* 开始播放动画 */
  50.                         frameAnimation.start();
  51.                         break;
  52.                 }
  53.                 return true;
  54.         }
  55. }
复制代码
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享淘帖0 收藏收藏0 评分评分

65

主题

3

好友

739

积分

超级版主

Rank: 8Rank: 8

自我介绍
新年第一天据说有雨,全民齐赏日出的计划恐要泡汤。”宋仁宗拍着包拯的肩,“朕决定把你悬挂在城门上。”“但微臣额上的不是太阳是月亮啊!”“没事,挂久一点就会升级成太阳
生肖
星座
狮子座
性别

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 论坛元老

沙发
发表于 2013-5-18 12:53:37 |只看该作者

图片资源

回复

使用道具 评分 举报

65

主题

3

好友

739

积分

超级版主

Rank: 8Rank: 8

自我介绍
新年第一天据说有雨,全民齐赏日出的计划恐要泡汤。”宋仁宗拍着包拯的肩,“朕决定把你悬挂在城门上。”“但微臣额上的不是太阳是月亮啊!”“没事,挂久一点就会升级成太阳
生肖
星座
狮子座
性别

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 论坛元老

板凳
发表于 2013-5-18 13:20:37 |只看该作者
图片资源
金山快盘附件drawable.rar(192.25KB)
回复

使用道具 评分 举报

您需要登录后才可以回帖 登录 | 立即注册


手机版|SKY外语计算机学习 ( 粤ICP备12031577 )    

GMT+8, 2024-12-22 10:05 , Processed in 0.112290 second(s), 27 queries .

回顶部