丝美脚,人心果,解闷的方法
其实文字游戏程序很简单,就是一个view和一个activity,在利用下handier和postinvalidate()更新ui
调用handler.post(runnable r)方法,runnable运行在ui所在线程,所以可以直接调用view.invalidate()
importandroid.app.activity;
importandroid.content.context;
importandroid.graphics.canvas;
importandroid.graphics.color;
importandroid.graphics.paint;
importandroid.os.bundle;
importandroid.os.handler;
importandroid.view.view;
publicclasstesthandlerextendsactivity{
privatemyviewmyview;
privatehandlermhandler;
publicvoidoncreate(bundlesavedinstancestate){
super.oncreate(savedinstancestate);
myview=newmyview(this);
mhandler=newhandler();
mhandler.post(newrunnable(){
@override
publicvoidrun(){
myview.invalidate();
mhandler.postdelayed(this,5);
}
});
setcontentview(myview);27}
classmyviewextendsview{30privatefloatx=0f;31publicmyview(contextcontext){
super(context);33
}
protectedvoidondraw(canvascanvas){
super.ondraw(canvas);37x+=1;
paintmpaint=newpaint();
mpaint.setcolor(color.blue);
canvas.drawrect(x,
,x+40,80,mpaint);41}
}
}
在新线程里更新ui,可以直接postinvalidate()
myview=newmyview(this);
this.setcontentview(this.myview);
newthread(newmythread()).start();
}
classmythreadimplementsrunnable{
publicvoidrun(){
while(!thread.currentthread().isinterrupted()){
try{
myview.postinvalidate();
thread.sleep(100);
}catch(interruptedexceptione){
thread.currentthread().interrupt();
}
}
}
}
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论