Android开发学习SurfaceView显示动画效果
2013-05-02 13:00
615 查看
一、基础知识:
SurfaceView继承自View,View负责在主线程中更新动画,而SurfaceView是在一个新线程中更新动画。
SurfaceView类的主要方法:
// 在SurfaceView创建时调用
pubilic abstract void surfaceCreated(SurfaceHolder holder)
// 在SurfaceView改变时调用
pubilic abstract void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
// 在SurfaceView销毁时调用
pubilic abstract void surfaceDestroyed(SurfaceHolder holder)
// 绘制SurfaceView画面
protected void onDraw(Canvas canvas)
(参数canvas是该SurfaceView的画笔,每一次SurfaceView中画面改变都是调用了该方法)
二、实现效果:
首先有一副图片从屏幕的左下角开始向右上方运动,当图片上沿与手机屏幕上沿相撞时,图片的水平速度大小与方向均不变,竖直方向上速度大小不变,
方向相反;当下沿相撞后,同样效果,直到图片飞出屏幕。之后,屏幕渐渐地显示一幅图片。
三、编程实现:
1. 界面编辑(res\layout\main.xml):
?
2. 代码编辑:
(\src\wyf\zcl\MyActivity.java)
?
(\src\wyf\zcl\Constant.java)
?
(\src\wyf\zcl\MySurfaceView.java)
?
(\src\wyf\zcl\OnDrawThread.java)
?
(\src\wyf\zcl\PicRunThread.java)
?
这部分代码对于我这个初学java的人来说比较吃力,但是硬着头皮看了两天,还是基本弄清了这个框架。
代码中涉及一些java的基础知识,我做了一点笔记,如下:
[ extends ]:
一个类使用关键字extends继承其他类,关键字extends出现在类声明时的类名后,
extends后面跟着的是要继承的类的名称,extends实现了继承。在Java中的类只能继承一个类。
[ super ]:
B 继承 A ,B想调用A的方法,那么就可以 用super.A的方法。如果用中文解释:super就是父类的一个别名。
[ implements ]:
implements是一个类实现一个接口用的关键字,
他是用来实现接口中定义的抽象方法
。比如:people是一个接口,他里面有say这个方法。
public interface people()
{
public say();
}
但是接口没有方法体。
只能通过一个具体的类去实现其中的方法体。
比如chinese这个类,就实现了people这个接口。
public class chinese implements peopel{
public say()
{System.out.println("你好!");}
}
[ extends和implements区别]:
?
SurfaceView继承自View,View负责在主线程中更新动画,而SurfaceView是在一个新线程中更新动画。
SurfaceView类的主要方法:
// 在SurfaceView创建时调用
pubilic abstract void surfaceCreated(SurfaceHolder holder)
// 在SurfaceView改变时调用
pubilic abstract void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
// 在SurfaceView销毁时调用
pubilic abstract void surfaceDestroyed(SurfaceHolder holder)
// 绘制SurfaceView画面
protected void onDraw(Canvas canvas)
(参数canvas是该SurfaceView的画笔,每一次SurfaceView中画面改变都是调用了该方法)
二、实现效果:
首先有一副图片从屏幕的左下角开始向右上方运动,当图片上沿与手机屏幕上沿相撞时,图片的水平速度大小与方向均不变,竖直方向上速度大小不变,
方向相反;当下沿相撞后,同样效果,直到图片飞出屏幕。之后,屏幕渐渐地显示一幅图片。
三、编程实现:
1. 界面编辑(res\layout\main.xml):
?
(\src\wyf\zcl\MyActivity.java)
?
?
?
?
?
代码中涉及一些java的基础知识,我做了一点笔记,如下:
[ extends ]:
一个类使用关键字extends继承其他类,关键字extends出现在类声明时的类名后,
extends后面跟着的是要继承的类的名称,extends实现了继承。在Java中的类只能继承一个类。
[ super ]:
B 继承 A ,B想调用A的方法,那么就可以 用super.A的方法。如果用中文解释:super就是父类的一个别名。
[ implements ]:
implements是一个类实现一个接口用的关键字,
他是用来实现接口中定义的抽象方法
。比如:people是一个接口,他里面有say这个方法。
public interface people()
{
public say();
}
但是接口没有方法体。
只能通过一个具体的类去实现其中的方法体。
比如chinese这个类,就实现了people这个接口。
public class chinese implements peopel{
public say()
{System.out.println("你好!");}
}
[ extends和implements区别]:
?
相关文章推荐
- 【Android开发学习08】SurfaceView显示动画效果
- Android应用程序入门 推箱子游戏开发(一) surfaceView 实现动画效果
- Android开发之ViewPager页面切换显示动画效果
- android SurfaceView绘制 重新学习--控制动画移动
- Android 动画1--View控件的显示和隐藏效果
- android布局中子View添加动态隐藏和显示的动画效果。(LayoutTransition)
- Android利用SurfaceView实现下雨的天气动画效果
- Android应用开发——创建一个带动画效果的View
- 【iOS开发】关于显示一连串图片组成动画效果UIImageView的使用
- 零基础学习IOS开发(三)- cocos2d-x3.0 显示图像及基本动画效果
- Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析
- Android开发学习之基于ViewPager实现Gallery画廊效果
- Android自定义控件View(实现控件的动画效果,自定义类画简略时钟,TextView中文字逐一显示,动态设置progress的圆环/扇形ProgressBar等)
- Android 动画1--View控件的显示和隐藏效果
- Android中RecyclerView学习(二)----高仿网易新闻栏目动画效果
- Android UI设计与开发之ViewPager仿微信引导界面以及动画效果
- 21天学习android开发教程之SurfaceView与多线程的混搭
- Android用surfaceView制作动画效果
- 【Android2D游戏开发十四】(未完待续)手把手教你在SurfaceView中照样使用Android 动画—Tween Animation!
- 【iOS开发】关于显示一连串图片组成动画效果UIImageView的使用