项目里面的需求,当时搜索到MPAndroidChart库,可以实现,但是只是一个需求就引用偌大的一个库,感觉不太爽,打算自己自定义一个。 参考+实践一、惯例先上效果图   更新图 
 二、GitHub三、思路1、空心图(一个大圆中心绘制一个小圆)
  2、根据数据算出所占的角度
  3、根据动画获取当前绘制的角度
  4、根据当前角度获取Paint使用的颜色
  5、动态绘制即将绘制的 和 绘制已            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-15 10:40:49
                            
                                66阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 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            
                
         
            
            
            
            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            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-10 10:25:13
                            
                                100阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            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: 矩            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-02 16:34:37
                            
                                178阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.  扇形的外观是个圆弧,而且是围绕一个中心点旋转一定角度构成的
2. View主要的绘制都是通过画布(canvas)进行,canvas里提供了许多绘制的方法。其中有一个**drawArc()**画圆弧的方法。
    继承View基类,画了这样的扇形图直接来步骤吧1.分析自定义View需要认真的分析下,里面还是会用到一些数学知识首先是扇形该怎么表现
1.  扇            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-24 14:47:58
                            
                                304阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Android 扇形
Android 扇形是一种常见的界面元素,它常用于显示进度条、图表、菜单等。在本文中,我们将介绍如何在 Android 应用程序中实现一个简单的扇形,并提供代码示例供参考。
## 扇形的绘制原理
Android 提供了 Canvas 类来实现图形的绘制。要绘制一个扇形,我们需要指定扇形的中心点、半径、起始角度和扫描角度。然后,使用 Canvas 的 drawArc(            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-10-14 10:48:01
                            
                                159阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言:继上次写了自定义圆形进度条后,今天给大家带来自定义扇形饼状图。先上效果图:  是不是很炫?看上去还有点立体感。下面带大家一起来瞧一瞧吧。一、定义成员变量,重写构造方法看着这个效果图,我们可以想象下接下来暂时会需要用到以下属性:/**
     * 存放事物的品种与其对应的数量
     */
    private Map kindsMap = new LinkedHashMap<St            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-23 15:39:21
                            
                                282阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            上一篇主要是记录了如何实现简单的折线图,支持点击弹出提示;这篇主要是实现另外一种图表–饼状图。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.甜甜圈图 将饼图的中心区域挖掉,形成中心            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-09 17:15:49
                            
                                272阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言前两天做了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            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 13:49:27
                            
                                217阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
              自定义控件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阅读
                            
                                                                             
                 
                
                                
                    