本文实例为大家分享了Android自定义View画圆的具体代码,供大家参考,具体内容如下

引入布局

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/activity_main"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="com.bwie.test.xuejian1508a20170928.MainActivity">

android:layout_width="match_parent"

android:layout_height="match_parent"

/>

自定义View的java类,继承View

public class ViView extends View{

Paint paint;

Context context;

//构造方法

public ViView(Context context) {

super(context);

}

public ViView(Context context, AttributeSet attrs) {

super(context, attrs);

}

public ViView(Context context, AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

}

public ViView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {

super(context, attrs, defStyleAttr, defStyleRes);

this.context=context;

}

@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

super.onMeasure(widthMeasureSpec, heightMeasureSpec);

}

@Override

protected void onLayout(boolean changed, int left, int top, int right, int bottom) {

super.onLayout(changed, left, top, right, bottom);

}

/*绘图*/

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

//得到屏幕宽高

int width = getWidth();

int radius = width - 450/2;

int height = getHeight();

// 创建画笔

Paint paint1 = new Paint();

Paint paint2 = new Paint();

Paint paint3= new Paint();

// 消除锯齿

paint1.setAntiAlias(true);

paint2.setAntiAlias(true);

paint3.setAntiAlias(true);

//画笔颜色

paint1.setColor(Color.RED);

paint2.setColor(Color.WHITE);

paint3.setColor(Color.BLUE);

// 画圆。确定位置

// canvas.drawRect(100,100,width/2,height/2,paint1);

// canvas.drawCircle(100,100,100,paint1);

// canvas.drawCircle(250,250,200,paint2);

// canvas.drawCircle(500,500,300,paint3);

//设置圆环形状和大小

RectF oval = new RectF(width-radius,width-radius,width+radius,width+radius);

paint1.setStrokeWidth(450);

canvas.drawArc(oval,-90,90,false,paint1);

canvas.drawCircle(width/2,height/2,450,paint1);

canvas.drawCircle(width/2,height/2,300,paint2);

canvas.drawCircle(width/2,height/2,200,paint3);

}

@Override

public boolean onTouchEvent(MotionEvent event) {

return super.onTouchEvent(event);

}

}

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

android xml画圆,Android自定义View画圆功能相关推荐

  1. android 在xml文件中引用自定义View

    在xml中引用自定义view 方法一: [java] view plaincopy <com.test.copytext.CopyText android:layout_width=" ...

  2. 自定义圆形倒计时Android,Android自定义View倒计时圆

    本文实例为大家分享了Android自定义View倒计时圆的具体代码,供大家参考,具体内容如下 创建attr 创建DisplayUtil 类 import android.content.Context ...

  3. android 自定义view xml ,Android实现在xml文件中引用自定义View的方法分析

    本文实例讲述了Android实现在xml文件中引用自定义View的方法.分享给大家供大家参考,具体如下: 在xml中引用自定义view 方法一: android:layout_width=" ...

  4. 安卓自定义View画钟实现转动

    1.自定义View画钟实现转动 这个和画圆差不多,不过只是价格分针,并实现其转动,要加一个线程.代码如下: Java类中的代码 package com.example.ll.canvas;import ...

  5. Android中实现Bitmap在自定义View中的放大与拖动

    一基本实现思路: 基于View类实现自定义View –MyImageView类.在使用View的Activity类中完成OnTouchListener接口,实现对MotionEvent事件的监听与处理 ...

  6. Android软件开发之盘点自定义View界面大合集(二)

    Android软件开发之盘点自定义View界面大合集(二) - 雨松MOMO的程序世界 - 51CTO技术博客 雨松MOMO带大家盘点Android 中的自定义View界面的绘制 今天我用自己写的一个 ...

  7. Android 雪花飘落动画效果 自定义View

    在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不 ...

  8. Carson带你学Android:源码解析自定义View Draw过程

    前言 自定义View是Android开发者必须了解的基础 网上有大量关于自定义View原理的文章,但存在一些问题:内容不全.思路不清晰.无源码分析.简单问题复杂化 等 今天,我将全面总结自定义View ...

  9. android 仿360浮动,Android仿360悬浮小球自定义view实现示例

    Android仿360悬浮小球自定义view实现示例 效果图如下: 实现当前这种类似的效果 和360小球 悬浮桌面差不错类似.这种效果是如何实现的呢.废话不多说 ,直接上代码. 1.新建工程,添加悬浮 ...

最新文章

  1. vector can通信源码_CAN总线IMU在自动驾驶安全控制中的应用
  2. 高精度乘以低精度板子
  3. java raster_Raster
  4. 物理化学 界面现象
  5. Express中post请求req.body为空
  6. 对图片对比度和亮度的理解
  7. Mock server的实现 - run Fiori application using mock data in offline mode
  8. Linux下send错误代码32
  9. 最新百度翻译接口JS逆向教程
  10. 数据集:男女身高体重(二维)
  11. Android 内存监测工具 DDMS -- Heap
  12. javamail 解码 base64 html格式邮件_关于JavaMail,我遇上的那些史前巨坑...(建议收藏)
  13. ExeScope辅助测试工具简介
  14. 基2FFT算法matlab程序编写,基2时抽8点FFT的matlab实现流程及FFT的内部机理
  15. 百度文库文章提取器(下)
  16. nicescroll参数
  17. 阿里矢量图iconfont的两种使用方法
  18. 【转】国内外优秀的计算机视觉团队汇总
  19. [HNOI2005]狡猾的商人
  20. 201621123031 《Java程序设计》第7周学习总结

热门文章

  1. NVIDIA Jetson Xavier NX部署VINS-fusion-GPU
  2. 【已解决】Mysql 存储 emoji 表情报错 Incorrect string value: ‘\xF0\x9F\x98\x82\xF0\x9F
  3. 大漠穷秋:全面解读Angular 4.0核心特性
  4. 颈椎护理小助手,轻松缓解颈部酸痛,宾多康智能颈枕按摩器体验
  5. 夺命雷公狗ThinkPHP项目之----企业网站25之网站前台面包屑导航URL的完善
  6. Java 简单图片 马赛克,黑白画,珠纹化,油画效果等处理技术 原理及实现 (简单UI)
  7. UNICODE与 UTF-8的转换详解
  8. 做一个最简单的上位机
  9. poi HSSFCellStyle HSSFFont 设置加粗,字体,字号等样式
  10. iOS cocoapods的版本升级更新