xiangzhihong
android移动view
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
xiangzhihong
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
android移动view
android移动view
xiangzhihong
关注
发布于 2018-01-26 17:58:46
469
0
发布于 2018-01-26 17:58:46
举报
文章被收录于专栏:
向治洪
向治洪
import android.app.Activity;
import android.content.Context;
import android.graphics.*;
import android.os.Bundle;
import android.view.*;
public class Mian extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView my=new MyView(this);
setContentView(my);
}
}
class MyView extends SurfaceView implements SurfaceHolder.Callback,Runnable
{
SurfaceHolder holder;
Rect rect;//创建类
public MyView(Context context)
{
super(context);
holder = this.getHolder();//获取SurfaceHolder对象实例
holder.addCallback(this);//添加callback接口
setFocusable(true);
rect=new Rect(150, 150);
Thread t=new Thread(rect);
t.start();
}
@Override
//当SurfaceView尺寸改变时调用
public void surfaceChanged(SurfaceHolder holder, int format, int width,int height){}
@Override
//当SurfaceView创建时调用
public void surfaceCreated(SurfaceHolder holder)
{
new Thread(this).start();//启动新的线程
}
//当SurfaceView销毁时调用
@Override
public void surfaceDestroyed(SurfaceHolder holder){}
@Override
public synchronized void run() {
// TODO Auto-generated method stub
while(true){
Canvas canvas = holder.lockCanvas(null);//SurfaceHolder锁定并获得canvas对象
canvas.drawColor(Color.WHITE);
this.drawGraphics(canvas);
holder.unlockCanvasAndPost(canvas);//解锁画布,提交画好的图像
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void drawGraphics(Canvas canvas){
Paint mPaint = new Paint();
mPaint.setStyle(Paint.Style.FILL);//设置为实心
mPaint.setColor(Color.RED);
mPaint.setAntiAlias(true);//设置抗锯齿
this.draw(canvas, mPaint);
}
public void draw(Canvas canvas,Paint p){
canvas.drawCircle(100, rect.y, 50, p);//画圆
}
}
class Rect implements Runnable{//矩形类
int x;
int y;
int speed=10;
public Rect(int x,int y){
this.x=x;
this.y=y;
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true){
y+=speed;
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
本文参与
腾讯云自媒体分享计划
,分享自作者个人站点/博客。
原始发表:2013-12-18 ,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
android
本文分享自
作者个人站点/博客
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体分享计划
,欢迎热爱写作的你一起参与!
android
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
关注
文章
0
获赞
0
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐