Android

Android Flutter制作交错动画的示例代码

2022-06-27
目录 前言 动画解析 编码实现 总结 前言 之前一篇我们讲了 Flutter组合动画实现的方式 —— 交错动画.借助 GIF 和绘图技巧是可以做到类似 GIF 那种效果的.本篇我们来一个应用实例,我们让轮子在草地滚动着前进,而且还能粘上“绿色的草”,运行效果如下动画所示. 动画解析 上面实现的效果实际上由三个动画组成: 轮子前进的动画 轮子滚动 轮子的边缘颜色渐变(由黑色变成绿色) 这三个动画是同时进行的,因此需要使用到交错动画,即使用一个 AnimationController来控制三个 Tw

Android自定义View实现球形动态加速球

2022-06-27
本文实例为大家分享了Android自定义View实现球形动态加速球的具体代码,供大家参考,具体内容如下 利用贝塞尔曲线画波浪线封闭黄色矩形,使用PorterDuffXfermode的SRC_ATOP只显示圆和交叠部分,利用Handler发送消息模拟进度形成动态效果. 代码: public class CircleView extends View{ private int width; private int height; private Bitmap mBitmap; private Can

Android自定义View绘制居中文本

2022-06-27
本文实例为大家分享了Android自定义View绘制居中文本的具体代码,供大家参考,具体内容如下 自定义view的步骤: 1.自定义View的属性2.在View的构造方法中获得我们自定义的属性3.重写onMesure(非必须)4.重写onDraw 1.自定义View的属性,首先在res/values/ 下建立一个attrs.xml , 在里面定义我们的属性,只定义三个,有文本.颜色和字体大小: <!--CustomTextView-->     <declare-styleable na

Android自定义View实现拖动自动吸边效果

2022-06-27
本文实例为大家分享了Android自定义View实现拖动自动吸边的具体代码,供大家参考,具体内容如下 自定义View,一是为了满足设计需求,二是开发者进阶的标志之一.随心所欲就是我等奋斗的目标!!! 效果 实现逻辑 明确需求 1.实现控件跟随手指拖动2.实现控件自动贴边 整理思路 1.既然要实现控件拖动,那么就离不开onTouchEvent()这个方法,需要监听里面的按下和滑动事件.2. 要实现自动贴边,需要监听onTouchEvent()中手指离开屏幕事件.对于贴边的过程,我们用属性动画来解决

Android RecyclerView实现九宫格效果

2022-06-26
RecyclerView更加优化的复用机制和方便实现UI效果,几乎替代Listview和GridView的使用.但是分割线的实现,需要自己继承ItemDecoration来绘制. 效果图 item的布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

Android设置重复文字水印背景的方法

2022-06-26
本文实例为大家分享了Android设置重复文字水印背景的具体代码,供大家参考,具体内容如下 效果如图: 自定义Drawable : /**  * Created by Owen Chan  * On 2017-07-05.  */ public class WaterMarkBg extends Drawable {     private Paint paint = new Paint();     private String logo = "SoYoung";     publi

Android开发自定义实时图表控件实现示例

2022-06-26
目录 概述 演示 环境 实现 第一步:新建项目RealTimeChartDemo 第二步:新建RealTimeChart类 第三步:添加自定义变量 第四步:初始化基础参数 第五步:初始化宽高等参数 第六步:定义添加坐标点方法 第七步:定义坐标偏移方法 第八步:定义绘制网格线方法 第九步:定义绘制X轴标签方法 第十步:定义绘制坐标点方法 第十一步:绘制 第十二步:在activity_main.xml中使用控件 第十三步:在MainActivity中模拟添加数据点 概述 有时我们需要实时滚动显示一段

Android自定义ViewGroup实现标签流效果

2022-06-26
本文实例为大家分享了Android自定义ViewGroup实现标签流效果的具体代码,供大家参考,具体内容如下 自定义View,一是为了满足设计需求,二是开发者进阶的标志之一.随心所欲就是我等奋斗的目标!!! 效果 实现逻辑 明确需求 1.标签流效果;2.可以动态添加标签;3.标签需要有点击效果以及回调; 整理思路 既然要装载标签,就需要自定义ViewGroup ,而自定义ViewGroup 比较复杂的就是onLayout()中对子View的排版.既然是标签,在一行中一定要显示完整,在排版的时候注

Android实现九宫格图案解锁

2022-06-26
本文实例为大家分享了Android实现九宫格图案解锁的具体代码,供大家参考,具体内容如下 前言:自定义了一个九宫格的VIew来绘制九宫格图案,实现了绘制图案解锁的功能. 效果图如下: 1. 第一步 自定义九宫格View. public class LockPatterView extends View {     private static final int POINT_SIZE = 5;     private Point[][] points = new Point[3][3];    

Flutter中关于angle的踩坑记录

2022-06-25
这个问题是我最近做业务开发和业余开发都遇到的,这里的 angle 指的是旋转弧度.不是旋转角度. 先看一下我使用 angle 的场景吧: 图一中使用了 canvas.drawArc,传入了 startAngle 和 sweepAngle.图二也是如此.图三是 Flutter ConstraintLayout 中圆形定位的 example,我没有使用 Flutter ConstraintLayout 自带的旋转能力,而是用了 Transform.rotate,传入了 angle.Flutter C

Android颜色处理SweepGradient扫描及梯度渲染示例

2022-06-24
目录 扫描渲染 效果图: 代码: 扫描渲染 为什么什么叫扫描渲染呢?  相信大家都看过雷达扫描的效果,尤其是在安全软件中. public SweepGradient(float cx, float cy, int[] colors, float[] positions) Parameters: cx 渲染中心点x 坐标 cy 渲染中心y 点坐标 colors 围绕中心渲染的颜色数组,至少要有两种颜色值 positions 相对位置的颜色数组,可为null,  若为null,可为null,颜色沿渐

利用Flutter实现背景图片毛玻璃效果实例

2022-06-24
目录 前言 使用 canvas 绘制图片 更改绘制图片的绘制范围 毛玻璃效果实现 总结 前言 继续我们绘图相关篇章,这次我们来看看如何使用 CustomPaint 实现毛玻璃背景图效果.毛玻璃背景图其实就是将图片进行一定程度的模糊,背景图经过模糊后更加虚幻,使得前景和后景就会有层次感.相比直接加蒙层的效果来说,毛玻璃看起来更加好看一些.下面是背景图处理前后的对比,我们的前景图片的透明度并没有改变,但是背景图模糊虚化后,感觉前景更加显眼了一样. 本篇涉及如下内容: 使用 canvas 绘制图片.

Android新建水平节点进度条示例

2022-06-24
目录 前言 效果图 圆圈和文字状态 文字居中 代码 声明下style 接着创建布局文件 再Activity中使用它 mTextList数据集合 前言 效果图 前几天在网上没有找到合适的横向节点进度条,自己动手写了一个,先来看看效果图 圆圈和文字状态 我们看到小圆圈和文字有几种状态呢? 第一个空心的小圆圈是处理完成的状态 第二个实心的小圆圈是处理中的状态 第三个实心的小圆圈是待处理的状态没错,我们看到了小圆圈和文字有三种处理状态 文字居中 我们写一个类继承自AppCompatTextView,通过

Android&nbsp;Flutter表格组件Table的使用详解

2022-06-23
目录 Table.TabRow.TabCell 小结 之前开发中用到的表格,本篇文章主要介绍如何在页面中使用表格做一个记录. Table组件不同于其它Flex布局,它是直接继承的RenderObjectWidget的.相当于是一个独立的组件,区别与其他系列组件. Table.TabRow.TabCell 惯例,先看下Table相关的构造方法: Table({ Key? key, this.children = const <TableRow>[],//行列表 表示多少行 this.column

Android&nbsp;Canva实现渐变进度条

2022-06-22
目录 前言 前言 标题说渐变进度条是为了方便理解,这里本身的项目背景是一款表盘的分针.先上图: 表盘 周圈蓝色的渐变条(分针)就是本次要实现的东西. 1.拆分 首先,熟悉Canvas的朋友应该知道它可以画出各种形状,但偏偏没有一头是圆的环形(这里不考虑使用path绘制).所以我们不得不把它拆分为2个形状:圆环与圆. 2.绘制圆环 绘制圆环有很多种方法,比如画2个圆取补集之类的.这里直接使用canvas.drawArc()函数来画.先看看函数原型: void drawArc (RectF oval

Python&nbsp;pyecharts实时画图自定义可视化经纬度热力图

2022-06-22
目录 背景 基于pyecharts内置经纬度的热力图 基于自定义经纬度的热力图 pyecharts库缺点 不同地图坐标系区别 WGS-84 - 世界大地测量系统 GCJ-02 - 国测局坐标 BD-09 - 百度坐标系 背景 在业务数据统计分析中基本都会涉及到各省区的分析,数据可视化是数据分析的一把利器,这些省区的数据一般会用地图可视化出来,这样一些规律可以被一面了然发现 地图有很多可视化类型,比如:基本地理图.热力图.路径图.涟漪图 等,本篇文章主要介绍 热力图,使用的工具百度开源 pyech

Android&nbsp;Gradle同步优化详解

2022-06-22
目录 动态修改gradle配置 hook agp ProjectsServices 方法签名检查是否存在support包 年初开始我们就开始了关于Gradle Sync阶段的优化.之前和大家都简单的介绍过工程相关的背景情况了,我们大概有400+的Module,然后一次的同步时间就非常的慢,我们迫切的需要对这个问题进行优化.大部分工作都是和团队内的同学一起完成的,我也只出了一点点力而已. 这次写文章真的很倒霉,之前忘了保存导致要重新开始写了.如果不是白嫖了掘金的端午礼盒,拿人手短啊,我已经打算鸽了

Android开发升级AGP7.0后的一些适配方法技巧

2022-06-21
目录 升级 Java11配置 AndroidComponentsExtension onVariants Component Artifacts registerJavaGenerateTask 没了 其他 启动configuration cache 结尾 升级 年初了,我们打算升级下apg,这样之后就拥抱下jetpack compose了!! 想用comopse有两个必选项agp7.0和kotlin版本1.5.31. Java11配置 因为apg7.0需要把所有的module编译环境切换到ja

使用Composing&nbsp;builds提升Android编译速度

2022-06-21
目录 前言 Composing builds 和 buildSrc 对比 什么是 buildSrc 什么是 Composing builds buildSrc vs Composing builds 编译速度 它们在使用上有什么不同呢 总结 结语 前言 长期以来困扰我们的一个问题就是构建速度,AndroidStudio 的构建速度严重影响 Android 开发者的工作效率,尤其是更新一个版本号,导致整个项目重新构建,在网络慢的情况下,这是无法忍受的. buildSrc 这种方式,在最近几年是非常

Android&nbsp;Kotlin全面详细类使用语法学习指南

2022-06-21
目录 前言 1. 类的声明 & 实例化 2. 构造函数 2.1 主构造函数 2.2 次构造函数 3. 类的属性 4. 可见性修饰符 5. 继承 & 重写 6. 特殊类 6.1 嵌套类(内部类) 6.2 接口 6.3 数据类 6.4 枚举类 总结 前言 Kotlin被Google官方认为是Android开发的一级编程语言 今天,我将主要讲解kotlin中的类的所有知识,主要内容包括如下: 1. 类的声明 & 实例化 // 格式 class 类名(参数名1:参数类型,参数名2:参数类型