项目里面的需求,当时搜索到MPAndroidChart库,可以实现,但是只是一个需求就引用偌大的一个库,感觉不太爽,打算自己自定义一个。 参考+实践一、惯例先上效果图 更新图 二、GitHub三、思路1、空心图(一个大圆中心绘制一个小圆) 2、根据数据算出所占的角度 3、根据动画获取当前绘制的角度 4、根据当前角度获取Paint使用的颜色 5、动态绘制即将绘制的 和 绘制已
# Android Canvas ClipRect 功能解析与应用 在Android开发中,Canvas是一个非常重要的类,它提供了丰富的绘图功能。其中,`clipRect()` 方法是Canvas类中的一个非常有用的功能,它允许开发者对Canvas的绘制区域进行裁剪。本文将详细介绍`clipRect()` 方法的使用方法,并结合代码示例和旅行图、关系图进行解析。 ## 什么是 ClipRec
原创 2024-07-27 07:47:03
90阅读
# Android实现圆角矩形教程 ## 一、整体流程 为了实现在Android中绘制圆角矩形,我们需要经过以下步骤: | 步骤 | 描述 | |------|----------------| | 1 | 创建一个自定义的View类 | | 2 | 重写View的onDraw方法 | | 3 | 在onDraw方法中使用Canvas的clipRect
原创 2024-05-11 05:58:29
143阅读
本文以一个真实项目的业务场景为载体,描述了经历一次次重构后,代码变得越来越复杂(you ya)的过程。本篇 Demo 的业务场景是:从服务器拉取新闻并在列表展示。GodActivity刚接触 Android 时,我是这样写业务代码的(省略了和主题无关的 Adapter 和 Api 细节):class GodActivity : AppCompatActivity() { private v
转载 2024-06-06 07:33:49
38阅读
# Android clipRect 的使用 在 Android 开发中,图形绘制是一个重要的方面。我们常常需要绘制某些特定区域的内容,而 `clipRect` 方法便是解决这一问题的一个强有力的工具。本文将探讨 `clipRect` 的使用及其在 Canvas 绘制中的作用,同时提供相应的代码示例。 ## 什么是 clipRect? `clipRect` 是 Android Canvas
原创 10月前
65阅读
1 先上效果图 2 分析第一看看到这个图,有过画扇形经验的同学会不屑,这个不简单吗?主要就是将所有的值相加,然后用每个值去除于总值,得到对于的一个扇形的角度,逐个画上去就好。这个说法大体是对的,但等到真正实施,还是有些小细节需要注意的。 <code class="hljs matlab has-numbering" style="display: block; padding: 0px;
转载 2023-10-04 10:38:02
149阅读
前言    android studio在2.2开始已经全面接入了cmake,用来编译jni代码。所以我们的跨平台编译同样需要与时俱进,使用cmake来完成工作。如果你不是很了解cmake,也不用担心,跟着本文探索下去,能够了解一些最基本的用法(PS:博主之前也是完全不会,摸着石头过河的,现在也还是不会……)。    另外ndk版本使用了最新的r16
Android 扇形统计图先看看效果: 看上去如果觉得还行就继续往下看吧!自定义View定义成员变量private int mHeight, mWidth;//宽高 private Paint mPaint;//扇形的画笔 private Paint mTextPaint;//画文字的画笔 private int centerX, centerY;//中心坐标
转载 2023-08-17 23:10:04
103阅读
曰:这文章写得很不咋地,但是却是自己“开悟”的记录,不想浑浑噩噩,首先不去浑浑噩噩!前两天看到朱凯大神发表了酝酿一整年的大作:《HenCoder:给高级 Android 工程师的进阶手册》,作为一个码农不敢妄看高级之物,但看在朱凯大神久处于朱大嫂淫威之下,关顾一下以示支持,不曾想到大神的文章是以细微处见真知,回到基础知识上,真是久旱逢甘露,挣扎已久的心突然静了下来,慢慢找回“多敲代码少BiBi”的
转载 2023-08-17 23:09:03
108阅读
从Eclipse时代到Android Studio普及,开发工具越来越好用。早些时候还需要安装Cygwin工具,从Android Studio1.3以后,在Android 环境开发JNI程序搭建开发环境变得相对简单。这里就来介绍一下急于Android Studio如何进行jni开发。  首先准备基本工具,Android Studio (>=1.3.x), NDK(ndk-r10-e
转载 2023-12-12 13:27:24
31阅读
本系列自定义View全部采用kt系统macandroid studio: 4.1.3kotlin version1.5.0gradle: gradle-6.5-bin.zip本篇效果: 画矩形在绘制饼状图之前,首先要绘制扇形, 想到扇形的api可能用的不多,所以先来绘制一个矩形练练手代码比较简单,就不多说了画扇形Canvas#drawArc入参介绍:Left,top,right,bottom: 矩
1. 扇形的外观是个圆弧,而且是围绕一个中心点旋转一定角度构成的 2. View主要的绘制都是通过画布(canvas)进行,canvas里提供了许多绘制的方法。其中有一个**drawArc()**画圆弧的方法。 继承View基类,画了这样的扇形图直接来步骤吧1.分析自定义View需要认真的分析下,里面还是会用到一些数学知识首先是扇形该怎么表现 1. 扇
# Android 扇形 Android 扇形是一种常见的界面元素,它常用于显示进度条、图表、菜单等。在本文中,我们将介绍如何在 Android 应用程序中实现一个简单的扇形,并提供代码示例供参考。 ## 扇形的绘制原理 Android 提供了 Canvas 类来实现图形的绘制。要绘制一个扇形,我们需要指定扇形的中心点、半径、起始角度和扫描角度。然后,使用 Canvas 的 drawArc(
原创 2023-10-14 10:48:01
159阅读
前言:继上次写了自定义圆形进度条后,今天给大家带来自定义扇形饼状图。先上效果图: 是不是很炫?看上去还有点立体感。下面带大家一起来瞧一瞧吧。一、定义成员变量,重写构造方法看着这个效果图,我们可以想象下接下来暂时会需要用到以下属性:/** * 存放事物的品种与其对应的数量 */ private Map kindsMap = new LinkedHashMap<St
上一篇主要是记录了如何实现简单的折线图,支持点击弹出提示;这篇主要是实现另外一种图表–饼状图。1 先上效果图2 分析第一看看到这个图,有过画扇形经验的同学会不屑,这个不简单吗?主要就是将所有的值相加,然后用每个值去除于总值,得到对于的一个扇形的角度,逐个画上去就好。这个说法大体是对的,但等到真正实施,还是有些小细节需要注意的。for (int i = 0; i < numbers.size(
转载 2024-02-26 13:42:25
78阅读
写在前面:个人有个习惯,在非必要的情况下,我不喜欢用第三方包,因为有些东西太复杂了,不好改,在只需要特定某功能的时候也增加了apk包大小。当然,这里的图片裁剪也是。啥都不懂,网上胡乱搜索,很多都没完整的,然后自己研究了好久搞出来了!所以决定分享给大家。当然,理还是那个理,网上多的是,但区别就是:必须满足伸手党,拿来即用!原理:调用系统打开图像方法,返回一个uri,然后根据版本(4.4以上或以下)然
转载 2023-08-04 15:07:19
271阅读
饼图(pie)是表示类别比例的一种最常见图形。生活中最常见的例子就是“披萨饼”。这种图,几乎不用解释就能秒懂。然而,随着人们对数据可视化的进一步研究,针对不同的数据和不同的关注点,饼图也出现了各种各样的变体。下面,让我们来了解下这些变体吧!1.雷达图 将饼图中百分比的数值放在雷达图的N个角上,距离中心越近表示比例越小。形如雷达,故名。2.甜甜圈图 将饼图的中心区域挖掉,形成中心
前言前两天做了360前端星技术测验,其中有个UI效果实现是这样的 (请实现如图warning标志,其中圆的半径是100px,并且保证圆始终垂直居中页面显示) 核心技术难点是: 1. 扇形的实现 2. 多个扇形怎么拼凑成圆 下面我将从扇形的不同实现着手讲解我对这个UI效果实现的思考。border我们知道利用border+宽高:0 可以实现如下效果 .snip{ position:
转载 2023-12-27 10:06:57
145阅读
上一篇文章我们使用Canvas绘制了WiFi信号,对arc方法有一定的了解了。这篇我们添加一个工作中更加常用的场景-使用Canvas绘制数据扇形图。效果如下: 分析扇形图如图所示,我们需要准备:一组数据包含:颜色,描述文字,金额。 以及arc方法。了解canvas文本方法:gd.fontgd.filltext("str",x,y)gd.textAligngd.textBa
  自定义控件import android.animation.ValueAnimator; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import
转载 2023-08-29 11:00:27
65阅读
  • 1
  • 2
  • 3
  • 4
  • 5