package com.ray.bubble;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnTouchListener;
import android.widget.FrameLayout;
import android.widget.ImageView;
public class BubbleExplosion extends Activity {
private FrameLayout fl;
private ExplosionView exv1;
private AnimationDrawable exa1;
private Contact contact;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//set full screen
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,
WindowManager.LayoutParams. FLAG_FULLSCREEN);
fl = new FrameLayout(this);
fl.setBackgroundResource(R.drawable.bg);
exv1 = new ExplosionView(this);
exv1.setVisibility(View.INVISIBLE);
exv1.setBackgroundResource(R.anim.explosion);
exa1 = (AnimationDrawable)exv1.getBackground();
fl.addView(exv1);
fl.setOnTouchListener(new LayoutListener());
setContentView(fl);
}
class ExplosionView extends ImageView{
public ExplosionView(Context context) {
super(context);
}
//handle the location of the explosion
public void setLocation(int top,int left){
this.setFrame(left, top, left+40, top+40);
}
}
class LayoutListener implements OnTouchListener{
public boolean onTouch(View v, MotionEvent event) {
//first u have to stop the animation,or if the animation
//is starting ,u can start it again!
exv1.setVisibility(View.INVISIBLE);
exa1.stop();
float x = event.getX();
float y = event.getY();
exv1.setLocation((int)y-20, (int)x-20);
exv1.setVisibility(View.VISIBLE);
exa1.start();
return false;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android-魔法泡泡-泡泡动画分析(附源码)
共29个文件
class:9个
png:7个
xml:4个
4星 · 超过85%的资源 需积分: 18 53 下载量 179 浏览量
2013-05-22
09:30:43
上传
评论 2
收藏 162KB RAR 举报
温馨提示
精华提炼: 1.Line 31 exv1.setBackgroundResource(R.anim.explosion); exv1是继承自ImageView的视图,看到他将一个animation设置成背景了,惊讶!原来动画可以设置为背景图。 2.Line 32 exa1 = (AnimationDrawable)exv1.getBackground(); Line 60 exa1.start(); 不仅仅Aniamtion有start()方法,原来AnimationDrawable作为一个Drawable的子类也可以有start()方法哦。 没见过吧,之前我也没见过;见过啦?我现在也见过了! 再补充几个常识性的 3.setContentView(fl); 用代码绘制布局,完全没用到layout/main.xml~~ 4.Line 23-25 设置全屏
资源推荐
资源详情
资源评论
收起资源包目录
BubbleExplosion.rar (29个子文件)
BubbleExplosion
bin
BubbleExplosion.apk 63KB
classes.dex 3KB
com
ray
bubble
BubbleExplosion$ExplosionView.class 869B
BubbleExplosion.class 1KB
R$layout.class 382B
R$drawable.class 605B
R$attr.class 328B
R.class 507B
R$string.class 415B
R$anim.class 381B
BubbleExplosion$LayoutListener.class 966B
resources.ap_ 59KB
res
drawable
explode4.png 6KB
explode1.png 6KB
bubble0.png 6KB
icon.png 3KB
explode5.png 3KB
explode2.png 6KB
bg.jpg 35KB
explode3.png 6KB
values
strings.xml 181B
anim
explosion.xml 490B
layout
main.xml 382B
assets
default.properties 364B
gen
com
ray
bubble
R.java 1KB
src
com
ray
bubble
BubbleExplosion.java 2KB
.project 851B
.classpath 280B
AndroidManifest.xml 685B
共 29 条
- 1
lzq131144
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页