android xml画圆,Android自定义View画圆功能
本文实例为大家分享了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画圆功能相关推荐
- android 在xml文件中引用自定义View
在xml中引用自定义view 方法一: [java] view plaincopy <com.test.copytext.CopyText android:layout_width=" ...
- 自定义圆形倒计时Android,Android自定义View倒计时圆
本文实例为大家分享了Android自定义View倒计时圆的具体代码,供大家参考,具体内容如下 创建attr 创建DisplayUtil 类 import android.content.Context ...
- android 自定义view xml ,Android实现在xml文件中引用自定义View的方法分析
本文实例讲述了Android实现在xml文件中引用自定义View的方法.分享给大家供大家参考,具体如下: 在xml中引用自定义view 方法一: android:layout_width=" ...
- 安卓自定义View画钟实现转动
1.自定义View画钟实现转动 这个和画圆差不多,不过只是价格分针,并实现其转动,要加一个线程.代码如下: Java类中的代码 package com.example.ll.canvas;import ...
- Android中实现Bitmap在自定义View中的放大与拖动
一基本实现思路: 基于View类实现自定义View –MyImageView类.在使用View的Activity类中完成OnTouchListener接口,实现对MotionEvent事件的监听与处理 ...
- Android软件开发之盘点自定义View界面大合集(二)
Android软件开发之盘点自定义View界面大合集(二) - 雨松MOMO的程序世界 - 51CTO技术博客 雨松MOMO带大家盘点Android 中的自定义View界面的绘制 今天我用自己写的一个 ...
- Android 雪花飘落动画效果 自定义View
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不 ...
- Carson带你学Android:源码解析自定义View Draw过程
前言 自定义View是Android开发者必须了解的基础 网上有大量关于自定义View原理的文章,但存在一些问题:内容不全.思路不清晰.无源码分析.简单问题复杂化 等 今天,我将全面总结自定义View ...
- android 仿360浮动,Android仿360悬浮小球自定义view实现示例
Android仿360悬浮小球自定义view实现示例 效果图如下: 实现当前这种类似的效果 和360小球 悬浮桌面差不错类似.这种效果是如何实现的呢.废话不多说 ,直接上代码. 1.新建工程,添加悬浮 ...
最新文章
- vector can通信源码_CAN总线IMU在自动驾驶安全控制中的应用
- 高精度乘以低精度板子
- java raster_Raster
- 物理化学 界面现象
- Express中post请求req.body为空
- 对图片对比度和亮度的理解
- Mock server的实现 - run Fiori application using mock data in offline mode
- Linux下send错误代码32
- 最新百度翻译接口JS逆向教程
- 数据集:男女身高体重(二维)
- Android 内存监测工具 DDMS -- Heap
- javamail 解码 base64 html格式邮件_关于JavaMail,我遇上的那些史前巨坑...(建议收藏)
- ExeScope辅助测试工具简介
- 基2FFT算法matlab程序编写,基2时抽8点FFT的matlab实现流程及FFT的内部机理
- 百度文库文章提取器(下)
- nicescroll参数
- 阿里矢量图iconfont的两种使用方法
- 【转】国内外优秀的计算机视觉团队汇总
- [HNOI2005]狡猾的商人
- 201621123031 《Java程序设计》第7周学习总结
热门文章
- NVIDIA Jetson Xavier NX部署VINS-fusion-GPU
- 【已解决】Mysql 存储 emoji 表情报错 Incorrect string value: ‘\xF0\x9F\x98\x82\xF0\x9F
- 大漠穷秋:全面解读Angular 4.0核心特性
- 颈椎护理小助手,轻松缓解颈部酸痛,宾多康智能颈枕按摩器体验
- 夺命雷公狗ThinkPHP项目之----企业网站25之网站前台面包屑导航URL的完善
- Java 简单图片 马赛克,黑白画,珠纹化,油画效果等处理技术 原理及实现 (简单UI)
- UNICODE与 UTF-8的转换详解
- 做一个最简单的上位机
- poi HSSFCellStyle HSSFFont 设置加粗,字体,字号等样式
- iOS cocoapods的版本升级更新