下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】怎么在Android中绘制一个弧形
怎么在Android中绘制一个弧形?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体如下:public
class
ArcsActivity
extends
Activity
{
@Override
protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(new
SampleView(this));
}
/**
*
自定义绘制图案的View
*
*
@description:
*
@author
ldm
*
@date
2016-4-25
下午4:19:40
*/
private
static
class
SampleView
extends
View
{
//
画圆形图案的画笔数组
private
Paint[]
mPaints;
//
画矩形的画笔
private
Paint
mFramePaint;
//
是否以矩形中心画图
private
boolean[]
mUseCenters;
//
矩形框数组
private
RectF[]
mOvals;
//
上面较大的矩形框
private
RectF
mBigOval;
//
画圆弧起点
private
float
mStart;
//
画圆弧角度
private
float
mSweep;
//
画大图形对应角标index
private
int
mBigIndex;
//
角度变化增量
private
static
final
float
ANGLE_STEP
=
3;
//
初始角度
private
static
final
float
START_ANGLE
=
15;
public
SampleView(Context
context)
{
super(context);
mPaints
=
new
Paint[4];
mUseCenters
=
new
boolean[4];
mOvals
=
new
RectF[4];
mPaints[0]
=
new
Paint();
mPaints[0].setAntiAlias(true);//
设置抗紧钜齿
mPaints[0].setStyle(Paint.Style.FILL);//
设置画笔填充风格
mPaints[0].setColor(0x88FF0000);//
设置颜色
mUseCenters[0]
=
false;
mPaints[1]
=
new
Paint(mPaints[0]);
mPaints[1].setColor(0x8800FF00);
mUseCenters[1]
=
true;
mPaints[2]
=
new
Paint(mPaints[0]);
mPaints[2].setStyle(Paint.Style.STROKE);//
设置画笔空心风格
mPaints[2].setStrokeWidth(4);//
设置画笔宽度
mPaints[2].setColor(0x880000FF);//
设置颜色
mUseCenters[2]
=
false;
mPaints[3]
=
new
Paint(mPaints[2]);
mPaints[3].setColor(0x88888888);
mUseCenters[3]
=
true;
mBigOval
=
new
RectF(40,
10,
280,
250);//
初始化较大的矩形
mOvals[0]
=
new
RectF(10,
270,
70,
330);//
初始化4个较小矩形
mOvals[1]
=
new
RectF(90,
270,
150,
330);
mOvals[2]
=
new
RectF(170,
270,
230,
330);
mOvals[3]
=
new
RectF(250,
270,
310,
330);
mFramePaint
=
new
Paint();
mFramePaint.setAntiAlias(true);
mFramePaint.setStyle(Paint.Style.STROKE);
mFramePaint.setStrokeWidth(0);
}
@Override
protected
void
onDraw(Canvas
canvas)
{
canvas.drawColor(Color.WHITE);
//
画大矩形
canvas.drawRect(mBigOval,
mFramePaint);
//
在大矩形分别
画4个圆弧图形
canvas.drawArc(mBigOval,
mStart,
mSweep,
mUseCenters[mBigIndex],
mPaints[mBigIndex]);
for
(int
i
=
0;
i
<
4;
i++)
{
canvas.drawRect(mOvals[i],
mFramePaint);//
画四个小矩形
canvas.drawArc(mOvals[i],
mStart,
mSweep,
mUseCenters[i],//
在四个小矩形中分别画圆弧
mPaints[i]);
}
mSweep
+=
ANGLE_STEP;//
弧度改变
if
(mSweep
>
360)
{//
弧度控制
mSweep
-=
360;
mStart
+=
START_ANGLE;
if
(mStar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年航天器及其运载工具、零件项目投资申请报告
- 2024届陕西省铜川市高三第二次质量检测数学试题(理)(解析版)
- 2023-2024学年安徽省A10联盟高一下学期开学考试数学试卷(解析版)
- 家庭妇女权益保障计划
- 实验仪器登记表
- 市场结构-寡头垄断市场(经济学理论课件)
- 分类题(理论部分)第1-3章答案
- 【生物】消化和吸收(一)课件-2023-2024学年人教版生物七年级下册
- 2023年年报业绩分析系列三:当前1800家上市公司年报隐含哪些业绩线索
- 房屋翻漏安全协议书
- 施工总承包技术标标书-
- GB∕T 38053-2019 装配式支吊架通用技术要求
- TSG Z7002-2022 特种设备检测机构核准规则-高清正版
- 山西小学建筑装饰装修工程施工方案
- 中端门店商务酒店运营管理HOTEL制度 亚朵人力资源部 5号 酒店员工手册04.04
- 电子膨胀阀课件
- 四大名著之西游记PPT模板课件
- DB62T _1161-2022-机修梯田技术规范
- 小学语文著名作家的作品
- 化学元素周期表word可打印
- 调心滚子轴承参数表
评论
0/150
提交评论