首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
xml布局自定义SurfaceView模板
时间:
2015-05-27 15:46:16
阅读:
218
评论:
0
收藏:
0
[点我收藏+]
标签:
package com.dream.apm;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* Created by HuangZhiLong on 2015/1/22.
*/
public class MySurfaceViewone extends SurfaceView implements SurfaceHolder.Callback,Runnable {
private Thread th;
private SurfaceHolder sfh;
private Canvas canvas;
private Paint paint;
private boolean flag;
public int screenW=0,screenH=0;
/**
* SurfaceView初始化函数
*/
public MySurfaceViewone(Context context, AttributeSet attrs) {
super(context, attrs);
this.setKeepScreenOn(true);
sfh = this.getHolder();
sfh.addCallback(this);
paint = new Paint();
paint.setAntiAlias(true);//消除锯齿
//paint.setTypeface(Typeface.DEFAULT_BOLD);
this.setFocusable(true);
this.setFocusableInTouchMode(true);
}
/**
* SurfaceView视图创建,响应此函数
*/
@Override
public void surfaceCreated(SurfaceHolder holder) {
screenW = this.getWidth();
screenH = this.getHeight();
myDraw();
//tt=new Rect(0,0,this.getWidth(),this.getHeight());
flag = true;
th = new Thread(this);
th.start();
}
/**
* 游戏绘图
*/
public void myDraw() {
try {
canvas = sfh.lockCanvas();
canvas.drawColor(Color.rgb(90, 151, 161));//背景
paint.setStrokeWidth(0);
paint.setColor(Color.BLACK);
//paint.setTextSize(size);
//绘制表格
} catch (Exception e) {
} finally {
if (canvas != null)
sfh.unlockCanvasAndPost(canvas);
}
}
/**
* 图片的线程运行
*/
public void run() {
while (flag) {
myDraw();
try {
Thread.sleep(40);
} catch (Exception ex) {
Log.e("ERROR", "Thread is Error!");
}
}
}
/**
* 触屏事件监听
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction())
{
//移动
case MotionEvent.ACTION_MOVE:
break;
//按下
case MotionEvent.ACTION_DOWN:
break;
//放开
case MotionEvent.ACTION_UP:
break;
}
return true;
}
/**
* SurfaceView视图状态发生改变,响应此函数
*/
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
System.out.println("ImageSurfaceView is surfaceChanged");
}
/**
* SurfaceView视图消亡时,响应此函数
*/
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
System.out.println("ImageSurfaceView is surfaceDestroyed");
flag = false;//停止线程
}
}
复制代码
android
中使用xml布局自定义SurfaceView模板
xml布局自定义SurfaceView模板
标签:
原文地址:http://blog.csdn.net/u014714340/article/details/46047679
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!