定义一个画图的接口:

package com.ken.drawable;

import android.graphics.Canvas;

public interface drawGraphics {

public void draw(Canvas canvas);

}

画圆:

package com.ken.drawable;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.RectF;

public class DrawCircle implements drawGraphics {

private Paint paint= null;

private Paint paint_eye= null;

public DrawCircle(){

paint= new Paint();

paint_eye= new Paint();

}

public void draw(Canvas canvas) {

// TODO Auto-generated method stub

//绘制圆形(圆心x,圆心y,半径r,画笔p)

paint_eye.setAntiAlias(true);

paint.setAntiAlias(true);

RectF rectF = new RectF(120,60,370,240);

paint_eye.setColor(Color.WHITE);

paint.setColor(Color.GREEN);

canvas.drawCircle(190, 110, 18, paint_eye);

canvas.drawCircle(300, 110, 18, paint_eye);

canvas.drawArc(rectF, 180, 180,true, paint);

}

}

画直线:

package com.ken.drawable;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

public class DrawLine implements drawGraphics {

private Paint paint= null;

public DrawLine(){

paint= new Paint();

}

public void draw(Canvas canvas) {

// TODO Auto-generated method stub

paint.setAntiAlias(true);

//绘制直线

paint.setColor(Color.GREEN);

//设置线条粗细

paint.setStrokeWidth(12);

canvas.drawLine(120,40,170,90, paint);

canvas.drawLine(320,90,370,40, paint);

}

}

画矩形:

package com.ken.drawable;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.RectF;

public class DrawRect implements drawGraphics {

private Paint paint= null;

public DrawRect(){

paint= new Paint();

}

public void draw(Canvas canvas) {

// TODO Auto-generated method stub

//定义圆角矩形对象

RectF rectF1 = new RectF(120,170,370,500);

RectF rectF2 = new RectF(40,150,90,400);

RectF rectF3 = new RectF(390,150,440,400);

RectF rectF4 = new RectF(140,520,200,650);

RectF rectF5 = new RectF(290,520,350,650);

paint.setAntiAlias(true);

//设置画笔颜色为BLUE

paint.setColor(Color.GREEN);

//在画布上绘制圆角矩形/圆弧/直线

canvas.drawRoundRect(rectF1, 20, 20, paint);

canvas.drawRoundRect(rectF2, 20, 20, paint);

canvas.drawRoundRect(rectF3, 20, 20, paint);

canvas.drawRoundRect(rectF4, 20, 20, paint);

canvas.drawRoundRect(rectF5, 20, 20, paint);

}

}

显示的类:

package com.ken.drawable;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Paint;

import android.view.View;

public class GameView extends View implements Runnable {

private Paint mPaint=null;

private drawGraphics mdrawGraphics=null;

public GameView(Context context) {

super(context);

// TODO Auto-generated constructor stub

//构建对象

mPaint=new Paint();

//开启线程

new Thread(this).start();

}

public void onDraw(Canvas canvas){

super.onDraw(canvas);

//设置画布为黑色

//canvas.drawColor(Color.BLACK);

//消除锯齿

mPaint.setAntiAlias(true);

//设置图形为空心

mPaint.setStyle(Paint.Style.STROKE);

//绘制空心几何图形

mdrawGraphics=new DrawCircle();

mdrawGraphics.draw(canvas);

mdrawGraphics=new DrawLine();

mdrawGraphics.draw(canvas);

mdrawGraphics=new DrawRect();

mdrawGraphics.draw(canvas);

}

public void run() {

// TODO Auto-generated method stub

while(!Thread.currentThread().isInterrupted()) {

try{

Thread.sleep(1000);

} catch(InterruptedException e) {

// TODO: handle exception

Thread.currentThread().interrupt();

}

//使用postInvalidate 可以直接在线程中更新界面

postInvalidate();

}

}

}

主类:

package com.ken.drawable;

import android.app.Activity;

import android.os.Bundle;

public class GameStart extends Activity {

private GameView mGameView= null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.mGameView= new GameView(this);

setContentView(mGameView);

}

}

android 机器人绘制,画个android机器人相关推荐

  1. android 自定义view画表格,Android自定义View实现课程表表格

    自己闲下来时间写的一个课表控件,使用的自定义LinearLayout,里面View都是用代码实现的,最终效果如下图,写的可能有问题希望多多指点 创建一个自定义LinearLayout 控件用来装载课程 ...

  2. 蜡笔小新里的钢达姆机器人怎么画_写字机器人好用吗? 组装就花了5个小时 还要学习软件、录入字体...

    据江苏公共·新闻频道<新闻360>报道:新学期开学,各种各样的课后作业成了孩子和家长关注的话题.前不久,一条"孩子购买代写作业机器人,被家长发现"的新闻,引发了强烈争议 ...

  3. android view绘制速度,关于android ui的优化 view 的绘制速度

    关于如何优化activity的启动速度, view 的绘制速度, 可参考这个sdk里的文档. android-sdk-windows-1.5_r1/docs/resources/articles/wi ...

  4. android studio绘制统计图,基于Android Studio的饼图账单的设计与开发_毕业论文.doc

    基于Android Studio的饼图账单的设计与开发_毕业论文 Anhui Vocactional & Technical College of Industry & Trade 毕 ...

  5. Android布局怎么画图形,Android开发者的图形化布局

    图形化布局编辑器允许你通过拖放来创建UI.在早期版本的ADT中,图形化布局编辑器并不是很有帮助,幸运的是,最新版本非常强大,可以用来创建复杂的包含有复合组件以及动画的布局. (1)Configurat ...

  6. Android Canvas 绘制基本形状 Android自定义View(七)

    1 缩略图 2 绘制颜色 // 传入一个Color类的常量参数来设置画布颜色// 绘制蓝色canvas.drawColor(Color.BLUE); 3 绘制点(drawPoint) 在某个坐标处绘制 ...

  7. android 重新绘制界面,基于Android Q:华为最新EMUI10界面曝光,图标重绘继续优化...

    原标题:基于Android Q:华为最新EMUI10界面曝光,图标重绘继续优化 在手机的深度定制系统里,华为EMUI应该是知名度非常高的一个.重新设计的外观和强化的功能让华为手机的使用体验得到增强,很 ...

  8. android 实现绘制不规则图形,Android贝塞尔曲线实现填充不规则图形并随手指运动...

    贝塞尔曲线: 贝塞尔曲线于1962,由法国工程师皮埃尔·贝塞尔所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计.贝塞尔曲线最初由 Paul de Casteljau 于 1959 年运用 de Ca ...

  9. android 机器人动画,画一个可以动的Android 小机器人

    上次我们画了一个哆啦A梦,可惜这个哆啦A梦并不会动,今天我们就来画一个可以动的Android小人.这次,我们全程使用C3高级. image.png 好,废话不多说,我们直接上代码. Android 初 ...

最新文章

  1. C、C++语言容易出错的几个地方
  2. 提升win双屏体验_海信双屏A6L评测,在自由阅读中植入护眼水墨屏
  3. XMind助你快速解决问题
  4. 在 CentOS7 上安装 MySQL5.7
  5. 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置
  6. 关于java包_关于Java包
  7. ajaxfileupload 返回值_ajaxFileUpload上传文件返回json无法解析
  8. 函数式编程让你忘记设计模式
  9. vue function (i)第一次点击不执行_vue下$nextTick及原理浅析
  10. 我们如何体验 Line 的生活方式
  11. EJB3.0学习笔记---MDBbean--区分P2P模式和Pub/Sub模式的示例
  12. Looper,Handler, MessageQueue
  13. php 上传图片并生成缩略图,php 上传图片并生成缩略图
  14. 程序员因太过耿直,致苹果官网出现bug......
  15. 杭电3233(杂题)
  16. LoadRunner11代理在Win10操作系统启动不起来,或者报错:该内存不能为written
  17. Java对象转为Json格式的String
  18. 宏与宏病毒——学习笔记
  19. 联想蓝牙没有连接的地方计算机,联想笔记本连不上蓝牙怎么办 笔记本连接蓝牙耳机没声音解决方法...
  20. 四、共阳数码管的动态显示

热门文章

  1. tlp导致linux运行缓慢,Ubuntu 18.04安装tlp实现电源管理,解决风扇狂转问题
  2. SLMi334兼容TLP5214 一款兼容光耦带保护功能单通道隔离IGBT栅极驱动器
  3. android git上开源的项目收藏
  4. 了解视图dm_os_performance_counters的cntr_type含义
  5. 英雄联盟手游服务器维护中,英雄联盟手游Server is currently under maintenance解决方法...
  6. python 编写获取阿里巴巴行业分类数据代码
  7. Unity 修改场景中人型骨骼模型的骨骼旋转角度
  8. Upload上传@20210412
  9. PHP学习笔记:环境变量
  10. 串口、终端应用程序 API termios