Android绘制自定义控件,Android自定义控件绘制基本图形基础入门
本文讲述绘制android自定义各种图形效果,为自定义控件的入门篇
相关视频链接:
android自定义控件系列
android视频全系列
绘制点–这个控件只需要在布局中引用或者代码中new 即可,下面几个绘制只展示ondraw方法
package com.example.viewdemo1.view;
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.graphics.paint.style;
import android.util.attributeset;
import android.view.view;
public class pointview extends view {
public pointview(context context, attributeset attrs, int defstyleattr) {
super(context, attrs, defstyleattr);
}
public pointview(context context, attributeset attrs) {
super(context, attrs);
}
public pointview(context context) {
super(context);
}
@override
protected void ondraw(canvas canvas) {
super.ondraw(canvas);
// 对于画笔
paint paint = new paint();
// 设置抗锯齿
paint.setantialias(true);
// 设置画笔颜色
paint.setcolor(color.red);
// 三种样式
paint.setstyle(style.fill_and_stroke);
paint.setstrokewidth(5);
// 阴影
paint.setshadowlayer(10, 0, 0, color.cyan);
// 点的坐标 x0,y0,x1,y1......
float[] pts = { 50, 50, 100, 100, 200, 200, 300, 300, 0, 100, 100, 0 };
canvas.drawpoints(pts, paint);
// 绘制点的时候,隔着几个点绘制几个,最多不到多少点
canvas.drawpoints(pts, 1, 6, paint);
}
}
绘制线
@override
protected void ondraw(canvas canvas) {
super.ondraw(canvas);
// 对于画笔
paint paint = new paint();
// 设置抗锯齿
paint.setantialias(true);
// 设置画笔颜色
paint.setcolor(color.red);
// 三种样式
paint.setstyle(style.fill);
paint.setstrokewidth(0.5f);
// 阴影
// paint.setshadowlayer(10, 0, 0, color.cyan);
// x0,y0,x1,y1
float[] pts = { 100, 100, 200, 200, 200, 200, 300, 200, 300, 200, 300,
400 };
// 以上是6个点的x,y坐标,两两连成线段
canvas.drawlines(pts, paint);
// 画一条线
canvas.drawline(0, 0, 100, 100, paint);
}
绘制圆
//指定圆心坐标,半径就ok
canvas.drawcircle(100, 100, 100, paint);
绘制文字
//设置文字大小
paint.settextsize(40);
//指定坐标,最好指定文字大小
canvas.drawtext("哈", 100, 500, paint);
//将文字设置到指定路径上
path path = new path();
paint.settextsize(50);
path.addcircle(200, 200, 150, direction.ccw);
canvas.drawtextonpath("我爱你我的祖国,我爱你我亲爱的姑娘", path, 0, 0, paint);
绘制矩形
// 阴影
paint.setshadowlayer(10, 0, 0, color.cyan);
// x y 坐标 及半径值
// canvas.drawcircle(100, 100, 50, paint);
canvas.drawrect(50, 50, 300, 300, paint);
绘制圆弧
//指定放置圆弧的矩形
rectf oval=new rectf(10,10,210,210);
//绘制圆弧-0是指开始度数,270是指结束度数 false是指不连接圆心,paint是画笔
canvas.drawarc(oval, 0, 270, false, paint);
绘制椭圆
//指定矩形,指定画笔
canvas.drawoval(oval, paint);
以上就是基本图形的绘制了…very easy。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
Android绘制自定义控件,Android自定义控件绘制基本图形基础入门相关推荐
- 安卓航班Android开发经典教程大总结2----游戏基础入门及高级编程
前总结的是Android基础编程及深入,基本都是一些控件的使用,本次将全面对Android中游戏开发进行总结,马上就春节了,在这里代表安卓航班给大家拜年,祝大家阖家欢乐,工作顺利,早日发大财!下面就开 ...
- android趣味项目,AndroidStudio项目开发实战——从基础入门到趣味开发
AndroidStudio项目开发实战--从基础入门到趣味开发 编辑 锁定 讨论 上传视频 <AndroidStudio项目开发实战--从基础入门到趣味开发>是2020年3月电子工业出版社 ...
- android 绘制控件,Android自定义控件绘制基本图形基础入门
本文讲述绘制Android自定义各种图形效果,为自定义控件的入门篇 相关视频链接: 绘制点–这个控件只需要在布局中引用或者代码中new 即可,下面几个绘制只展示onDraw方法 package com ...
- 【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )
文章目录 一. 过度绘制 二. 过度绘制两种情况 ( 自定义控件 | 布局文件 ) 三. 过度绘制调试 1. 打开过渡绘制调试工具 2. 过渡绘制调试中不同颜色的含义 3. 过渡渲染示例 四. 背景过 ...
- Android自定义控件_View的绘制流程
每一个View/ViewGroup的显示都会经过三个过程: 1.measure过程(测量View显示的大小,位置): 2.layout过程(布局view的位置): 3.draw过程(上一篇文章说到的通 ...
- 【Android】开源项目汇总-备用 各种图形的绘制,各种效果
from://http://www.eoeandroid.com/home.php?mod=space&uid=765778&do=blog&id=47674 Android开 ...
- SurfaceView简单理解,Android混淆,Android openGl开发详解简单图形的绘制,
SurfaceView允许你在非ui线程中去绘制. SurfaceView的帧率可以操作60FPS 在要求实时性比较高的游戏开发中,显然,view的ondraw是满足不了你的,这时候只能是用Surfa ...
- android 自定义多边形,Android:自定义view之Canvas绘制图形
前面讲解了onMeasure,接下来讲解onDraw,onDraw主要就是绘制,也就是我们真正关心的部分,使用的是Canvas绘图. @Override protected void onDraw(C ...
- 自定义控件android.r,Android控件架构与自定义控件
前言 最近在开发的路上越走越远了,每天在看各位大神公众号更新内容是自定义View的时候,一些小的内容有点模具,决定回过头来温习一下过往的内容.此篇也是根据android群英传来总结的一篇文章. 1 A ...
最新文章
- 手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统(附源码+视频教程(第9节))...
- mysql分库分区分表怎么做_mysql 分区、分表、分库分表。
- JavaScript中的坐标
- mysql安装教程8.0.22_mysql 8.0.22 安装配置方法图文教程
- C#中不常见的运算符功能汇总
- js template换行_JavaScript字符串换行符?
- [记录]---mysql数据库,decimal类型设置默认值0,不要是null
- 如何构建可视化的营销数据大屏? 1
- USACO1.1.2 - Greedy Gift Givers
- Java基础练习之流程控制(四)
- bat计算机清理原理,电脑如何一键清除垃圾bat
- Centos yum 包管理工具离线安装
- WPS-Word : 页首的段落段前间距失效/不起作用/无效,段前一行无效没反应
- s7 modbus测试软件,S7-1200 Modbus-Tcp通讯测试
- 如何通过美股交易软件完成开户?美股开户交易要点有哪些?
- 让闲置物品“换”出财富
- 阿里云ECS服务器概念理解
- 成熟FOC电机控制代码 大厂成熟FOC电机控制图。 可用于电动自行车,滑板 车,电机FOC控制等
- 【a标签的使用和属性】
- 关于SEGGER和Jlink下载的问题