Android编程之绘图canvas基本用法示例
作者:ITzhongzi 发布时间:2022-08-21 15:02:23
标签:Android,绘图,canvas
本文实例讲述了Android编程之绘图canvas基本用法。分享给大家供大家参考,具体如下:
MainActivity的代码如下:
package example.com.myapplication;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//实例化GraphicsView
GraphicsView gv = new GraphicsView(this);
/* 在以前我们通过setContentView(R.layout.activity_main)显示布局文件
* 本例中使用GraphicsView对象gv代替以前布局文件
*/
setContentView(gv);
}
}
另一个定义画布画笔的class类
GraphicsView
其代码如下::
package example.com.myapplication;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Color;
import android.view.View;
public class GraphicsView extends View{
//声明画笔
Paint paint=null;
public GraphicsView(Context context) {
super(context);
/*----------------------------------------------
* 部分书籍中把Paint paint=new Paint();放在onDraw方法中,建议
* 尽量不要把初始化画笔放在onDraw方法中,这是因为:onDraw经常会运行
* 到的,不要在里面new对象,越少越好,不然很浪费内存
*--------------------------------------------*/
//获取画笔,初始化画笔
paint=new Paint();
}
@Override
protected void onDraw(Canvas canvas){
//设置画布背景为白色
canvas.drawColor(Color.WHITE);
//设置画笔为红色
paint.setColor(Color.RED);
//使用当前画笔绘制一个左上角坐标为80,20,右下角坐标为360,180的矩形
canvas.drawRect(80,20,360,180, paint);
//设置画笔为绿色
paint.setColor(Color.GREEN);
//使用当前画笔绘制一个圆心坐标为220,100,半径为60的圆
canvas.drawCircle(220,100, 60, paint);
}
}
希望本文所述对大家Android程序设计有所帮助。
来源:http://blog.csdn.net/itzhongzi/article/details/52277375


猜你喜欢
- 本文实例讲述了C#中TreeView节点的自定义绘制方法。分享给大家供大家参考。具体如下:if ((e.State & TreeNo
- 官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-a
- 代码一:class Program { static int
- spring cloud oauth2 feign 遇到的坑关于oauth2相关的内容这里不重复描述,在spring cloud中在管理内部
- 本文实例讲述了Android开发之开关按钮控件ToggleButton简单用法。分享给大家供大家参考,具体如下:先来看看运行效果:具体代码如
- 今天学习了Map集合的几种方法,尤其是遍历Map集合感觉尤为重要,所以发出来供大家学习和自己复习以用。众所周知Map集合里存储元素是以键值对
- 1.线索化二叉树的介绍将数列 {1, 3, 6, 8, 10, 14 } 构建成一颗二叉树.问题分析:1.当我们对上面的二叉树进行中序遍历时
- 下面代码看下java判断http地址是否连通private boolean isOk(String url) {
- 用来记录自己所用到的知识前两天在做项目的时候发现有时候在访问网络数据的时候由于后台要做的工作较多,给我们返回数据的时间较长,所以老大叫我加了
- Spring框架提供了事务管理的标准实现,且可以通过注解或者XML文件的方式声明和配置事务。通过异步事件的方式解耦服务调用,可以提高程序的响
- 写在前面在前后端交互过程中,为了保证信息安全,我们往往需要加点用户验证。本文介绍了用springboot简单整合token。springbo
- using System;using System.Collections.Generic;using System.Text;using
- 问题在项目过程中使用MyBatis-Puls的saveBatch一次性添加大量数据时很慢原因MyBatis-Puls的saveBatch默认
- 一、java多线程基本入门java多线程编程还是比较重要的,在实际业务开发中经常要遇到这个问题。 java多线程,传统创建线程的方式有两种。
- Parallel类(https://www.jb51.net/article/244267.htm)的并行任务需要结束后才能运行后面的代码,
- 本文实例为大家分享了C#十五子游戏的具体代码,供大家参考,具体内容如下using System;using System.Collectio
- 本文实例讲述了C#图像处理之图像均值方差计算的方法。分享给大家供大家参考。具体如下://本函数均是基于RGB颜色空间计算//定义图像均值函数
- 最近在做一个搜索相关的项目,需要爬取网络上的一些链接存储到索引库中,虽然有很多开源的强大的爬虫框架,但本着学习的态度,自己写了一个简单的网络
- 概述在实际项目开发中如果需要支持多语言,我们需要整理项目中所有的字符串并翻译成对应的语种放在相应的文件夹下,就像这样最让我们头痛的是我们得一
- Java的super关键字当子类重写父类的方法后,子类对象将无法直接访问父类被重写的方法。为了解决这个问题,在Java中专门提供了一个sup