摘要:
Android的大多数控件都是继承自View的,因此在自定义控件时一般也是继承View类,但是对于高效的,游戏级别的绘图,或者是播放器等要求比较高的地方,普通的View类就有点吃不开了,这个时候就要用到SurfaceView类。因为比较高级,所以就该装B,单纯一个继承自SurfaceView类是不行的,必须实现一个SurfaceHolder.Callback接口来指明SurfaceView创建、改变、删除时的回调方法,并且在SurfaceView中通过一个SurfaceHolder对象来控制SurfaceView。 如果将该SurfaceView作为某个Activity的全屏View,则... 阅读全文
摘要:
共有属性: java代码中通过btn1关联次控件 android:id="@+id/btn1" 控件宽度 android:layout_width="80px" //"80dip"或"80dp" android:layout_width =“wrap_content” android:layout_width =“match_parent” 控件高度 android:layout_height="80px" //"80dip"或"80dp" android 阅读全文
摘要:
SurfaceView不能直接使用,需要使用时需要基于他派生出我们自己的类,并导出SurfaceHolder.Callback接口并实现。SurfaceView继承于视图类(View),能够实现线程绘图主要是因为其内部包含一个专门用于绘制的Surface。人们通过getHolder()获得Surface的句柄,然后通过SurfaceHolder接口的callback来使用他。SurfaceHolder的使用周期与surfaceview有关,surfaceview可见时,surface被创建;surfaceview不可见时,surface被销毁,且在surfaceview不可见之前。这样设计.. 阅读全文
摘要:
callback接口: 只要继承SurfaceView类并实现SurfaceHolder.Callback接口就可以实现一个自定义的SurfaceView了,SurfaceHolder.Callback在底层的Surface状态发生变化的时候通知View,SurfaceHolder.Callback具有如下的接口: surfaceCreated(SurfaceHolderholder):当Surface第一次创建后会立即调用该函数。程序可以在该函数中做些和绘制界面相关的初始化工作,一般情况下都是在另外的线程来绘制界面,所以不要在这个函数中绘制Surface。 surfaceChang... 阅读全文
摘要:
在JAVA中实现定时器功能要用的二个类是Timer,TimerTask Timer类是用来执行任务的类,它接受一个TimerTask做参数Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方式都可以指定任务执行的频率,本文有二个例子,一个是简单的一个是用了内部类1.简单实例先写一个类public class TimeTest {public static void main(String[] args) { Timer timer = new Timer(); timer.sc 阅读全文
摘要:
定时器在VC中的使用频繁,以下讨论定义器的使用方法。 定时器的原型是: WINUSERAPI UINT WINAPI SetTimer ( HWND hWnd , UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);hWnd 是欲设置定时器的窗体句柄。定时时间到时,系统会向该窗体发送WM_TIMER消息。nIDEvent 定时器标识符。在一个窗体内可以使用多个定时器,不同的定时器根据nIDEvent来区分。uElapse 定时时间,单位是毫秒。lpTimerFunc 定时器的回调函数。如果该值为NULL,定时时间到时,定时器发送的消息WM.. 阅读全文