SurfaceView实例
SurfaceView实例
1、看着别人的实例,写了一个SurfaceView应用的实例,基本是照着别人代码敲了一遍,运行后如下图
2、代码如下,没有注释
package com.demo; import java.util.Vector; import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Paint.Style;import android.os.Bundle;import android.view.MotionEvent;import android.view.SurfaceHolder;import android.view.SurfaceView;import android.view.ViewGroup.LayoutParams; public class SurfaceViewDemoActivity extends Activity { SurfaceHolder sh = null; Vector<Float> vx = new Vector<Float>(); Vector<Float> vy = new Vector<Float>(); @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); SurView surView = new SurView(this); setContentView(surView); } class SurView extends SurfaceView implements SurfaceHolder.Callback { public SurView(Context context) {super(context); sh = getHolder(); sh.addCallback(this); } @Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {// TODO Auto-generated method stub } @Overridepublic void surfaceCreated(SurfaceHolder holder) {new Thread(new SurLoop()).start(); } @Overridepublic void surfaceDestroyed(SurfaceHolder holder) {// TODO Auto-generated method stub } public void doDraw(Canvas canvas) {super.onDraw(canvas); canvas.drawColor(Color.GRAY); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.BLUE); paint.setStyle(Style.STROKE);for (int i = 0; i < vx.size(); i++) { canvas.drawCircle(vx.elementAt(i), vy.elementAt(i), 10, paint); } } @Overridepublic boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { vx.add(event.getX()); vy.add(event.getY()); }return true; } class SurLoop implements Runnable { @Overridepublic void run() {while (true) {try { Canvas canvas = sh.lockCanvas(); doDraw(canvas); sh.unlockCanvasAndPost(canvas); Thread.sleep(20); } catch (Exception e) { } } } } } }
转载于:https://www.cnblogs.com/stylering/archive/2012/02/10/2345681.html
SurfaceView实例相关推荐
- android surface编程,Android编程之SurfaceView实例详解
本文实例讲述了Android编程之SurfaceView用法.分享给大家供大家参考,具体如下: 关于surfaceView相关知识: View和SurfaceView主要区别: 1. View只能在U ...
- android 人物走动_Android游戏开发学习(2)--SurfaceView实例控制角色移动
先看效果 我用到的图片- 在看代码 package dk.game; import android.app.Activity; import android.os.Bundle; import and ...
- android surfaceview 背景颜色,android – 设置Surface View的背景颜色
有一个解决方法来做到这一点. >为surfaceview添加父视图组,将背景颜色设置为此视图组而不是surfaceview; android:layout_width="match_p ...
- Android绘图机制与处理技巧-更新中
概述 这里我们主要来探讨下 Android屏幕的相关只是 Android绘图技巧 Android图像处理技巧 SurfaceView的使用 绘图技巧中,医生讲的比较粗略,更多的细节参考了 Keegan ...
- android 后台自动拍照,Android实现后台服务拍照功能
一.背景介绍 最近在项目中遇到一个需求,实现一个后台拍照的功能.一开始在网上寻找解决方案,也尝试了很多种实现方式,都没有满意的方案.不过确定了难点:即拍照要先预览,然后再调用拍照方法.问题也随之而来, ...
- pAdTy_1 构建图形和动画应用程序
2015.11.12-11.18 个人英文阅读练习笔记.原文地址:http://developer.android.com/training/building-graphics.html. 2015. ...
- Android MediaPlayer本地视频播放器
该文章的目的是,让初学者能够快速掌握一个简单的本地视频播放器.该Demo中用到了SurfaceView.MediaPlayer. 实现效果图: <RelativeLayout xmlns:and ...
- 图形相关知识(显示)
1. 图形 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bepS0Lhf-1630391870991)(https://source.android.com/devi ...
- 刘备学Android目录
准备篇-刘备,从编草鞋到编代码...1 第1回 哦,何为Android?...1 1.1. Android基本知识...1 1.1.1. Android的历史...2 1.1.2. Andro ...
- 【转】自上而下解读Android显示流程
同济大学 计算机系统结构硕士 107 人赞同了该文章 当我们点击"知乎"这个应用后,它是怎么在屏幕上显示出来的? 这个问题困扰我很久了,当我刚接触显示的时候,大约是十年前的事情了, ...
最新文章
- 加速AI应用落地,英特尔AI 2.0的进阶之道
- 利用TaskCompletionSource将EAP转换成TAP
- mybatis中的xml中拼接sql中参数与字符串的方法
- flume采集最简demo
- Educational Codeforces Round 88 (Rated for Div. 2) E(数学)
- 信佑无盘主服务器密码,(信佑无盘帮助手册.doc
- shishuo-CMS-master
- AI为癌细胞杀手“染色”,辅助医生选择治疗方案 | 附论文
- IDEA设置代码背景豆沙色
- 数据治理成功要素篇1:数据战略管理
- 使用思科交换机Packet——Tracer模拟器教程
- 目前开发人工日多少钱_行内人解读开发一个App需要多少钱?-今日头条
- HttpPrinter-网页打印控件
- 语音信号的短时平均过零率
- 实时音视频聊天中的延时问题一篇就够,低延时场景及优化
- SQL零基础入门学习(三)
- 2020 IEEE 冯诺依曼奖得主:Michael Jordan --机器学习领域泰斗级人物
- 数仓存在的意义价值及分层的好处
- HDU 6555 The Fool(打表整除分块)
- HTML期末作业课程设计期末大作业——体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码)...
热门文章
- Reflector 3在录制中如何添加自己的声音
- EasyRecovery,重新找寻丢失的文件
- 网络安全与管理精讲视频笔记10-Windows隧道模式IPSec配置实验演示
- [转]在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
- 关于css中列表(ul ol)存在默认间距的问题
- Ruby+watir自动化测试中实现识别验证码图片
- vim插件command-t安装
- C++字符串格式化 sprintf详解
- 「leetcode」111.二叉树的最小深度(与求最大深度还有所不同的)
- UNIX环境高级编程之第6章:系统数据文件和信息