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
0
投稿

猜你喜欢

  • Mybatis一对多关联关系映射实现过程解析

    2021-07-13 06:22:59
  • Android刮刮卡实现原理与代码讲解

    2021-08-06 13:50:42
  • Java 多线程使用要点分析

    2023-12-18 22:41:36
  • java实现简易飞机大战

    2022-08-27 12:36:07
  • idea在用Mybatis时xml文件sql不提示解决办法(提示后背景颜色去除)

    2023-11-09 01:45:51
  • C# WinForm遍历窗体控件的3种方法

    2022-02-01 16:58:17
  • Java中两个List之间的比较方法(差集、交集和并集)

    2023-03-06 06:34:42
  • Java基本数据类型与类型转换实例分析

    2021-07-13 14:41:29
  • 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
  • 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
  • springboot注册bean的三种方法

    2023-11-22 21:57:12
  • Java编程经典小游戏设计-打砖块小游戏源码

    2021-07-08 01:17:28
  • SpringBoot快速配置数据源的方法

    2023-07-28 13:22:42
  • SpringBoot整合OpenApi的实践

    2023-08-03 11:59:55
  • asp之家 软件编程 m.aspxhome.com