利用View静态画图

you should consider creating a custom
View component and drawing with a Canvas in View.onDraw().
The most convenient aspect of doing so is that the Android framework will
provide you with a pre-defined Canvas to which you will place your drawing
calls.

理解和使用说明:

1.继承View(或者View的子类),定义onDraw()回调方法。 
回调方法被Android framework调用,来请求View自我绘制。

在onDraw()方法中执行所有在Canvas上的画画操作。当你onDraw()完成时,Android
Framework会使用你的这个Canvas画一个Bitmap。

Once youronDraw() is complete, the Android framework
will use your Canvas to draw a Bitmap handled by the system.

2.Android
Framework只会在需要的时候才回调onDraw()方法(非随时自动调用)。因此,若要重新绘制,要调用invalidate()方法请求让View无效。其请求之后,系统会回掉onDraw()方法。注意:如果是不是在main
Activity Thread请求无效,需要使用postInvalidate()方法而不是invalidate()方法。

参考资料:http://developer.android.com/guide/topics/graphics/2d-graphics.html

时间: 2024-12-15 01:42:06

利用View静态画图的相关文章

[stm32] 利用uc-gui封装画图和画线函数移植51上的模拟动画

>_<:这里的动画是黄色矩形区域中一个模仿俯视图的起重机运作动画,一个是模仿主视图的吊钩的运动.通过改变初始Init函数中的数据b_x,b_y实现矩形区域的移动.当实时采集时要首先根据起重机的实际情况改变比例,当传感器传来数据时就相当于这里的run函数,只要把传感器数据接收函数和相关函数结合即可. >_<:main code: 1 #include "stdlib.h" 2 #include "GUI.H" 3 /* 4 颜色 5 */ 6

android有时候利用view进行多个传值

有时候要利用view的tag进行传值,只需要传一个值时直接使用view.setTag(),如果多个值,就需要使用view.setTag(key,value); key不能直接写入数字,不然会出现一下错误 java.lang.IllegalArgumentException: The key must be an application-specific resource id. 应该在style.xml或String.xml中添加item type=id,name=name1 setTag(R.

利用freemarker 静态化网页

1.介绍-FreeMarker是什么 模板引擎:一种基于模板的.用来生成输出文本的通用工具 基于Java的开发包和类库 2.介绍-FreeMarker能做什么 MVC框架中的View层组件 Html页面静态化 代码生成工具 CMS模板引擎 页面栏目动态定制 3.介绍-为什么要用FreeMarker 程序逻辑(Java 程序)和页面设计(FreeMarker模板)分离 分层清晰,利于分工合作 主流Web框架良好的集成(struts2,springmvc) 简单易学.功能强大 免费开源 4.Free

利用FreeMarker静态化网页

1.介绍-FreeMarker是什么 模板引擎:一种基于模板的.用来生成输出文本的通用工具 基于Java的开发包和类库 2.介绍-FreeMarker能做什么 MVC框架中的View层组件 Html页面静态化 代码生成工具 CMS模板引擎 页面栏目动态定制 3.介绍-为什么要用FreeMarker 程序逻辑(Java 程序)和页面设计(FreeMarker模板)分离 分层清晰,利于分工合作 主流Web框架良好的集成(struts2,springmvc) 简单易学.功能强大 免费开源 4.Free

PHP利用GD库画图和生成验证码图片

首先得确定php.ini设置有没有打开GD扩展功能,测试如下 print_r(gd_info()); 如果有打印出内容如下,则说明GD功能有打开: Array ( [GD Version] => bundled (2.0.34 compatible) [FreeType Support] => 1 [FreeType Linkage] => with freetype [T1Lib Support] => 1 [GIF Read Support] => 1 [GIF Crea

关于url拼接传参数和利用view的字典传参数时,模板获取数据的方式问题

url = "{% url 'dashboard:internship-theme-stat' %}?teacher_name="+teacher_name+"&month="+month # view context={ "month": default_month, "teacher_name":default_teacher } 在django模板中: 第一中获取teacher_name的方式:{{ reques

android中实现毛笔效果(View 中画图)

近期有一个项目设计一个APP实现通过触摸屏实现毛笔写字效果.传统的绘画板程序直接通过Path的moveTo和LineTo便可实现简单的线条绘画程序.然而要达到毛笔的笔锋效果则须要更为具体点的设计.我的实现思路是通过以触摸事件DOWN.MOVE.UP中的每个点为圆心画圆,除此之外还可通过触摸压力的大小改变所绘圆的半径,这样一连串的圆便可粗略地模拟毛笔笔锋效果,在设计次效果时遇到两个问题: 1:android触摸中的MOVE时间取点的频率不是非常高,会隔一定的像素取点.当轻触滑动时会出现一天不连续圆

Linux之Qt利用Sqlite静态编译库(转)

参考:http://www.linuxidc.com/Linux/2011-11/47465.htm sqlite3编译安装 ------------------------arm版---------------------- 1.从官方网站下载sqlite-autoconf-3070602.tar.gz 2.解压,进入当前目录 3.开始配置,执行命令如下(前提配置好交叉编译环境):./configure --prefix=/usr/local/sqlite_arm --host=arm-lin

利用turtle模块画图

代码: import turtle #导入画图模块,查看已安装的模块dir('modules')或者help('modules')命令,查看模块详情help('turtle') t=turtle.Turtle() #调用模块里面的Turtle工具,调用模块:模块名.函数名 turtle.Turtle() t.speed(0) #画笔速度1-9依次变快,0为最快速度 def setpen(x,y): t.penup() t.goto(x,y) t.pendown() t.setheading(0)