会员注册 | 登录 | 微信快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

17如何使用SurfaceView计时绘点或线.doc

  • 资源星级:
  • 资源大小:64.00KB   全文页数:4页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

17如何使用SurfaceView计时绘点或线.doc

17.如何使用SurfaceView计时绘点或线大家常撰写View的子类别,然后在其onDraw函数里绘出各式各样的图形,例如画出点或是直线。不过,基本上onDraw函数是在Canvas画完所有线条等图形后,才一块儿将Canvas显示出来。然而,当我们想再画出一些线条之后,停个几秒钟之后,才继续绘出后续的图形,这种有停顿的计时性绘图,又该如何呢例如,先绘出一条绿色线段停顿5秒钟之后,才画出一条黄色线段这时,使用SurfaceView会是一个好方法。如下之范例程序代码/ac01.java/packagecom.misoo.ppvvimportandroid.app.Activityimportandroid.os.Bundleimportandroid.widget.LinearLayoutpublicclassac01extendsActivity{OverrideprotectedvoidonCreateBundleicicle{super.onCreateicicleMySurfaceViewmvnulltry{mvnewMySurfaceViewthis}catchInterruptedExceptione{e.printStackTrace}//LinearLayoutlayoutnewLinearLayoutthislayout.setOrientationLinearLayout.VERTICALLinearLayout.LayoutParamsparamnewLinearLayout.LayoutParams200,150param.topMargin5layout.addViewmv,param//setContentViewlayout}}/MySurfaceView.java/packagecom.misoo.ppvvimportandroid.content.Contextimportandroid.graphics.Colorimportandroid.view.SurfaceHolderimportandroid.view.SurfaceViewclassMySurfaceViewextendsSurfaceViewimplementsSurfaceHolder.Callback{SurfaceHoldermHolderprivateDrawThreadmThreadprivatedwListdwlMySurfaceViewContextcontextthrowsInterruptedException{supercontextgetHolder.addCallbackthisdwlnewdwListdwl.begin_recorddwl.record30,30,0,0dwl.record100,100,1,Color.GREENThread.sleep50dwl.record100,30,1,Color.YELLOWThread.sleep60dwl.record30,30,1,Color.BLUEThread.sleep40dwl.record30,100,1,Color.RED}publicvoidsurfaceCreatedSurfaceHolderholder{mHolderholdermThreadnewDrawThreadmThread.start}publicvoidsurfaceDestroyedSurfaceHolderholder{mThreadnull}publicvoidsurfaceChangedSurfaceHolderholder,intformat,intw,inth{}//classDrawThreadextendsThread{DrawThread{super}Overridepublicvoidrun{dwl.drawmHolder}}}/dwList.java/packagecom.misoo.ppvvimportjava.util.ArrayListimportjava.util.Iteratorimportandroid.graphics.Canvasimportandroid.graphics.Paintimportandroid.view.SurfaceHolderpublicclassdwList{privatePaintpaintnullprivatelongdraw_timeprivateArrayListpoListpublicvoidbegin_record{dwPoint.initial_timeSystem.currentTimeMillispoList.clear}publicvoidrecordintx,inty,intty,intcolor{dwPointponewdwPointx,y,ty,colorpoList.addpo}publicdwList{paintnewPaintpoListnewArrayList}publicvoiddrawSurfaceHolderholder{dwPointpolongcurr_timelongbase_time0intnnn0IteratoritpoList.iteratorwhileit.hasNext{poit.nextdraw_timepo.m_timeSpan100ifnnn0base_timeSystem.currentTimeMillisnnn//waitingdo{curr_timeSystem.currentTimeMillisbase_time}whilecurr_timeitpoList.iteratorforinti0iki{poit.nextifpo.m_type0{lastXpo.m_xlastYpo.m_y}else{paint.setColorpo.m_colorpaint.setStrokeWidth3canvas.drawLinelastX,lastY,po.m_x,po.m_y,paintlastXpo.m_xlastYpo.m_y}}holder.unlockCanvasAndPostcanvas}}/dwPoint.java/packagecom.misoo.ppvvpublicclassdwPoint{publicstaticlonginitial_timepublicintm_x,m_y,m_typepubliclongm_timeSpanpublicintm_colorpublicdwPoint{}publicdwPointintx,inty,intty,intcc{m_xxm_yym_typetym_colorccm_timeSpanlongSystem.currentTimeMillisinitial_time}}

注意事项

本文(17如何使用SurfaceView计时绘点或线.doc)为本站会员(baixue100)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5