- 生肖
- 虎
- 星座
- 狮子座
- 自我介绍
- 新年第一天据说有雨,全民齐赏日出的计划恐要泡汤。”宋仁宗拍着包拯的肩,“朕决定把你悬挂在城门上。”“但微臣额上的不是太阳是月亮啊!”“没事,挂久一点就会升级成太阳
- 性别
- 男
- 积分
- 368
- 积分
- 739
- 精华
- 0
- 阅读权限
- 150
- 注册时间
- 2012-4-28
- 最后登录
- 2016-9-20
- 帖子
- 247
- 自我介绍
- 新年第一天据说有雨,全民齐赏日出的计划恐要泡汤。”宋仁宗拍着包拯的肩,“朕决定把你悬挂在城门上。”“但微臣额上的不是太阳是月亮啊!”“没事,挂久一点就会升级成太阳
- 生肖
- 虎
- 星座
- 狮子座
- 性别
- 男
|
Activity01.java- package com.yarin.android.Examples_05_17;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.KeyEvent;
- public class Activity01 extends Activity
- {
- private GameView mGameView;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
-
- mGameView = new GameView(this);
-
- setContentView(mGameView);
- }
-
-
- }
复制代码 GameView .java
- package com.yarin.android.Examples_05_17;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.drawable.AnimationDrawable;
- import android.graphics.drawable.Drawable;
- import android.view.KeyEvent;
- import android.view.MotionEvent;
- import android.view.View;
- public class GameView extends View {
- /* 定义AnimationDrawable动画 */
- private AnimationDrawable frameAnimation = null;
- Context mContext = null;
- /* 定义一个Drawable对象 */
- Drawable mBitAnimation = null;
- public GameView(Context context) {
- super(context);
- mContext = context;
- /* 实例化AnimationDrawable对象 */
- frameAnimation = new AnimationDrawable();
- /* 装载资源 */
- // 这里用一个循环了装载所有名字类似的资源
- // 如“a1.......15.png”的图片
- // 这个方法用处非常大
- for (int i = 1; i <= 15; i++)
- {
- int id = getResources().getIdentifier("a" + i, "drawable", mContext.getPackageName());
- mBitAnimation = getResources().getDrawable(id);
- /* 为动画添加一帧 */
- // 参数mBitAnimation是该帧的图片
- // 参数500是该帧显示的时间,按毫秒计算
- frameAnimation.addFrame(mBitAnimation, 500);
- }
- /* 设置播放模式是否循环false表示循环而true表示不循环 */
- frameAnimation.setOneShot(false);
- /* 设置本类将要显示这个动画 */
- this.setBackgroundDrawable(frameAnimation);
- }
- public void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- }
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- frameAnimation.start();
- return super.onTouchEvent(event);
- }
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- switch (keyCode) {
- case KeyEvent.KEYCODE_DPAD_UP:
- /* 开始播放动画 */
- frameAnimation.start();
- break;
- }
- return true;
- }
- }
复制代码 |
|