Android编程之绘图canvas基本用法示例
作者:ITzhongzi 时间:2022-08-21 15:02:23
本文实例讲述了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
标签:Android,绘图,canvas
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Mybatis一对多关联关系映射实现过程解析
2021-07-13 06:22:59
![](https://img.aspxhome.com/file/2023/1/66031_0s.png)
Android刮刮卡实现原理与代码讲解
2021-08-06 13:50:42
![](https://img.aspxhome.com/file/2023/5/90185_0s.jpg)
Java 多线程使用要点分析
2023-12-18 22:41:36
java实现简易飞机大战
2022-08-27 12:36:07
![](https://img.aspxhome.com/file/2023/7/81227_0s.jpg)
idea在用Mybatis时xml文件sql不提示解决办法(提示后背景颜色去除)
2023-11-09 01:45:51
![](https://img.aspxhome.com/file/2023/0/59250_0s.png)
C# WinForm遍历窗体控件的3种方法
2022-02-01 16:58:17
Java中两个List之间的比较方法(差集、交集和并集)
2023-03-06 06:34:42
Java基本数据类型与类型转换实例分析
2021-07-13 14:41:29
![](https://img.aspxhome.com/file/2023/8/71018_0s.png)
C# Linq延迟查询的执行实例代码
2023-04-24 05:34:59
spring boot与ktor整合的实现方法
2022-01-18 04:20:19
详解Java实现简单SPI流程
2022-12-11 16:02:23
Java查找并高亮PDF文本过程解析
2022-02-17 07:20:32
![](https://img.aspxhome.com/file/2023/8/75508_0s.png)
SpringBoot如何用java生成静态html
2023-08-08 08:46:59
C#中的EventHandler观察者模式详解
2021-09-04 17:08:27
Java实现批量向mysql写入数据的方法
2023-11-05 20:51:21
springboot配置templates直接访问的实现
2023-01-05 14:22:51
![](https://img.aspxhome.com/file/2023/6/97966_0s.jpg)
springboot注册bean的三种方法
2023-11-22 21:57:12
Java编程经典小游戏设计-打砖块小游戏源码
2021-07-08 01:17:28
![](https://img.aspxhome.com/file/2023/6/63346_0s.png)
SpringBoot快速配置数据源的方法
2023-07-28 13:22:42
SpringBoot整合OpenApi的实践
2023-08-03 11:59:55
![](https://img.aspxhome.com/file/2023/8/70578_0s.jpg)