- 博客(88)
- 资源 (8)
- 论坛 (2)
- 问答 (1)
- 收藏
- 关注
原创 Android解决英文换行导致TextView 右侧留白区域过大问题
public class AdjustTextView extends WebullAutoResizeTextView { public AdjustTextView(Context context) { super(context); } public AdjustTextView(Context context, AttributeSet attrs) { super(context, attrs); } public Ad.
2020-11-26 17:11:48
275
原创 Android——基于LinearLayout实现的可联动伸缩布局组件
首先先预览一下实现的效果:红色区域是设置的分割线,可以支持设置分割线的粗度和颜色属性:<declare-styleable name="ZoomLayout"> <attr name="IntervalLineWidth" format="reference" /> <attr name="IntervalLineColor" format="reference" /> </declare-styleable&g
2020-09-13 12:24:21
617
1
原创 Android——基于ConstraintLayout实现的可拖拽位置控件
最近在研究使用android实现平板和电脑端一些应用的效果,话不多说先上个图可以看到,实现了中间的绿色区域换到父布局最左侧的功能。在拖动的过程中,父布局会出现上下左右四个箭头按钮,当光标移动到箭头上并放下时,拖动的视图会移动到指定的方向上去。实现思路:中间的绿色组件,经历了以下几个过程:1.长按实现视图的拖拽。2.拖拽移动过程中,父布局出现四个方向的箭头按钮,当光标在箭头上时显示黄色圆圈表示被选中。3.选中以后,将拖拽的组件移动到视图的最左侧。技术难点:1.首先是如何创造
2020-09-10 00:36:10
1765
原创 Android——inhale效果实现以及延伸(动画&绘制学习分享一)
概述:本文主要是对drawBitmapMesh的api研究学习,以及介绍模仿mac吸入动效的实现原理。drawBitmapMesh:使bigmap产生形变,功能与drawVertices类似,区别是drawVertices直接对画布产生作用。首先需要看一下api中的参数列表:其中关键参数分别是:bitmap:需要扭曲的图像meshWidth:横向的格数me...
2020-04-23 11:04:19
343
原创 Android 酷炫的3d立体圆柱动画效果实现
最近在drrible上看到一个超酷炫的效果,立体圆柱缓慢上升:https://dribbble.com/shots/7077455-Spending-analytics然后准备实现一波,做之前在网上找了很久,并没有相似的效果,所以自己做了一个,已经上传到我的代码库里:https://github.com/jiangzhengnan/NguiLib欢迎小伙伴们的start或者requ...
2019-12-22 18:00:49
1272
2
原创 Android——微信自动回复实现
首先本文的测试微信版本是7.0.3 ,亲测可以使用。需要实现-抓取微信自动回复消息的功能点。一.首先打开DDMS,使用按钮。在微信中回复一个消息点击Stop Method Profiling。二.查看生成的报表,观察到如下两个方法其中1应该是发送消息的接口方法。2应该是UI层显示的方法。三.首先分析第一个方法:1.,可以看到,参数值是String,返...
2019-09-20 18:16:29
8615
21
原创 Andorid——SVG矢量动画深度学习(一)
概览:本文主要描述了Android系统实现矢量动画的各种方式以及基础应用,也是一个月以来对矢量动画的学习和总结.矢量图:矢量图不同于位图是用像素描述图像的,它是用数学曲线描述图形。所以一张图片就是对应着一系列的数学曲线,所以图片的显示尺寸和图片体积无关。(这里为什么说显示尺寸,因为矢量图根本就没有所谓的尺寸,就看你把它显示成多大),它的体积就是文本文件的大小。并且矢量图可以无限拉伸不失...
2019-07-02 22:53:07
446
原创 Android——ECG心电图的绘制实现(二)
在上篇Android——ECG心电图的绘制实现博客中,实现了心电图的数据展示绘制。在之后又新增了 心电图的自动滑动展示 与 实时绘制功能。效果如下:自动滑动展示实时绘制(这里用到了一个timer不断添加数据)一、自动滑动展示 实现实现思路:通过开启定时器实现下标scrollIndex不断增加,以此来计算展示数据的开始下标scrollStartIndex与结束下标s...
2019-05-29 23:14:01
5703
8
原创 Android——ECG心电图的绘制实现
最近在项目中需要使用到的心电Ecg显示效果,本来打算使用sdk方的视图组件的,但是奈何他们的组件问题太多了。比如网格不对齐(强迫症表示这个无法忍),组件不支持静态显示数据等等问题。所以打算自己写一个用来做主页面的心电数据展示。首先要实现以下几个功能点:1.网格的大小,颜色可控。2.心电线条的颜色粗细可控。3.无论传入的数据源长度是多少,都要均匀的显示在表格上(按一定的比例尺缩放...
2019-05-19 23:52:12
2571
4
原创 Android——贝塞尔曲线的水波浪效果实现
使用贝塞尔曲线实现的水波浪效果,在很多杀毒软件的进度条显示中都有应用:这个效果呢以前在有一个项目中需要实现过,当时是使用的正弦曲线做的效果,不过后来发现贝塞尔曲线也可以做出相同的效果,并且代码更为优雅。那么对于初学者来说呢,首先需要了解什么是贝塞尔曲线,网上有很多教程,这里我找到了比较容易看懂的博客:贝塞尔曲线原理(实现图真漂亮)我们常用的是二阶贝塞尔曲线,其推导公式为:...
2019-05-12 14:55:50
1129
原创 Andorid实现皮皮蟹App的核心功能-语音播放
今天在跑一家面试的时候被问到能不能实现皮皮蟹的录音播放功能:概括起来就是在皮皮蟹里面选择需要播放的音频,保存到本地,然后跳转到微信点击录音的时候播放该音频,乍看一下感觉这个问题其实挺简单的,但是后面尝试了一下其实并不简单。思路1:通过判断麦克风是否被占用来获取在微信中录音的行为"回调",百度出来的方法大同小异,都是: private boolean validateMi...
2019-03-26 17:01:25
1542
1
原创 Android——腾讯QQ的Tab按钮动画效果完美实现
最近在用QQ的时候发现了一个有意思的小细节,如图所示:可以看到Tab按钮都有一个随着用户拖动而转动的特效,一开始被这个效果惊艳到了,QQ还是很细致的,注重细节和用户体验。于是利用空闲时间实现了这个效果,所有代码均用kotlin实现,项目效果如图所示:哈哈是不是一模一样呢,完整的实现代码并不长,只有200多行,但是找思路花了一些时间,也遇到过许多弯路,不过最后都还是坚持下
2017-11-25 11:58:53
6508
5
原创 Kotlin 入门基础语法学习笔记
敲了一天的kotlin基础语法,整理归纳到一个类里面,便于以后忘记的时候复习。/** * Created by GG on 2017/11/20. *///main函数fun main(args: Array) { var testMain = TestMain() print(testMain.array())}class TestMain { //单例
2017-11-21 21:41:16
565
原创 Android——AIDL基础实现demo以及原理探究
最近有一段时间没写博客了,打算最近趁着有时间补补,本文是总结的AIDL的基本使用和原理。分为两个部分:一是简单的上手demo,二是对代码逻辑进行分析。一:简单的AIDL小Demo:服务端:1.新建服务端工程AIDLserver,新建AIDL文件:2.打开该文件,编写一个测试方法:3.点击build-rebuild进行编译,可以看到生成的java类文件
2017-07-13 23:18:19
504
原创 仿知乎FloatingActionButton浮动按钮动画效果实现(三)
本文主要是为了实现仿知乎FloatingActionButton浮动按钮动画效果实现(一)中提到的第四步骤:设置点击出现的子按钮与描绘子按钮出现的动画效果。这里建议使用Github上的一个MD风格的开源组件:https://github.com/Clans/FloatingActionButton源码大概1K行,实现效果如下:实现步骤如下:1.在gradle中引入依
2017-05-06 11:01:29
9891
2
原创 Android——自由拖动并显示文字的悬浮框实现
项目中需要实现一个状态显示的悬浮框,要求可以设置两种模式:拖动模式和不可拖动模式。实现效果图如下:实现步骤:1.首先要设置该悬浮框的基本属性:/** * 显示弹出框 * * @param context */ @SuppressWarnings("WrongConstant") public static void s
2017-05-03 22:09:17
5658
原创 Android——一分钟学会使用实时模板Live Template
最近用到的一个比较实用的AS功能Live Template。用法如下:比如我写了一个方法:private boolean balabala(){ return false;}然后我需要给它加一点注释,比如作者,创建日期之类的,我可以打一个note:然后按一下回车,啪:/** * @author Pumpkin * @date 17/3/
2017-03-27 20:14:02
1246
原创 Android——实现渐变色水波纹效果源码
项目中使用到的效果,效果图如下:代码实现:public class WaveView extends View { private Paint mPaint, mCriclePaint, mTextPaint; // 倾斜或旋转、快速变化,当在屏幕上画一条直线时, 横竖不会出现锯齿, // 但是当斜着画时, 就会出现锯齿的效果,所以需要设置抗锯齿 p
2017-02-22 20:34:30
2612
2
原创 AccessibilityService——实现自动遍历点赞功能
概述:利用AccessibilityService机制实现了一个比较好玩儿的功能,微信朋友圈自动遍历点赞。即通过不断的滚动+点赞实现把每一条朋友圈都赞一次。当然其中还要涉及一些判断算法,比如如果这条朋友圈已经赞过就跳过去,以及当前界面没有可赞的朋友圈时执行翻页。其实做起来试错是个很繁冗的过程,这个效果也差不多做了两天。使用方式:运行程序-开启无障碍服务,再切换到微信主界面,
2017-02-19 11:00:43
23664
25
原创 AccessibilityService——实现微信切换账号功能
对AccessibilityService的学习已经有一个多月了,发现其使用方法其实也都蛮简单的,只是在不同项目中试错比较复杂。使用AccessibilityService实现了微信自动切换账号的功能,图示如下(这个步骤都是全自动的喔):使用方式是运行程序-开启无障碍服务,再切换到微信主界面,点击【我】的tab按钮,就会自动执行退出账号再登陆的逻辑了。Accessibi
2017-02-12 23:36:30
5321
13
原创 Android——个性化Progress电池显示视图
项目中需要用到的效果,图示如下:既一个显示电量槽的ProgressBar。一开始没想到可以通过ProgressBar直接实现,想的是通过一个电池图的遮盖,然后再用canvas画内部的红色长方形实现的。后面知道了居然可以直接用ProgressBar写。。。下面讲一下具体怎么实现的,这个也可以收藏起来以后参考用。实现步骤:1.首先实现ProgressBar的布局,这
2017-02-11 19:24:35
3321
2
原创 Android——实现光点模糊渐变的自旋转圆环特效
项目中需要实现的效果图如下:可以这个表盘看到中间部分都是没有什么难点的,主要是周围圆环的三种效果:1:渐变色2:尖端的白点模糊效果3:路径绘制最终实现的效果图如下:完美实现了三点要求。实现思路:1.首先是黑色底色圆环的绘制(黑色圈是固定不变的)。2.在绘制好黑色底色圆环之后再绘制渐变色圆弧(蓝绿部分)。3.最后绘制小星星部分,使用
2017-02-05 19:02:32
4345
4
原创 Android——实现RecyclerView左侧滑删除与右侧滑选择
项目中要实现的功能,之前找了很久发现网上大部分的侧滑删除和列表全选都是ListView的实现,而对RecyclerView的实现却是少之又少,所以花了很多时间实现了一个还比较满意的版本,效果如下:侧滑删除(带自动校位滑动效果):右滑出现选择框:一键编辑(全选):实现原理:1.首先需要实现一个基本的RecyclerView。2. 自定义It
2017-01-13 15:35:17
13689
5
原创 Android——实现酷炫的RecyclerView心形交错下拉刷新动画
最近好久没发博客了啊...虽然工作比较忙,但还是懈怠了。本文介绍实现的一个带动效的RecyclerView下拉刷新动画,效果如下图: 实现原理:基于Aspsine的上拉加载下拉刷新的RecycerView库实现的效果,
2017-01-08 16:31:53
3918
2
原创 LeetCode每日一题——136. Single Number
原题地址: https://leetcode.com/problems/single-number/Fizz Buzz描述:Given an array of integers, every element appears twice except for one. Find that single one.
2016-12-13 15:05:41
815
原创 LeetCode每日一题——231. Power of Two
原题地址: https://leetcode.com/problems/power-of-two/Fizz Buzz描述:Given an integer, write a function to determine if it is a power of two.举例:无解题思路:判断
2016-12-12 15:46:08
404
原创 LeetCode每日一题——412. Fizz Buzz
原题地址:https://leetcode.com/problems/fizz-buzz/Fizz Buzz描述:Write a program that outputs the string representation of numbers from 1 to n.But for multiples of three it should output “
2016-12-07 23:32:54
752
原创 Android——高德地图实现多点连线与点击定位监听实现
最近开发的项目中需要使用到的功能,如下图所示:服务器会传来一个包含项数据类型为坐标与时间的数组。需要实现的功能有:1.按时间顺序对每个点进行连线。2.点击单个点会在点的上分dialog内显示时间(如下图)。3.初始化定位至第一个点处。代码实现:1.按时间顺序对每个点进行连线。思路:先服务器回传的ArrayList进行按时间排序: /
2016-12-07 22:37:41
6527
原创 Android 经验交流分享报告笔记
第一部分:项目整体架构用到的第三方库:一:compile files('libs/butterknife-7.0.1.jar')1.简介: Field and method binding for Android views。 JakeWharton开发的JakeWharton,github上1W+start。2.与以往项目的区别以及优缺点:注解...
2016-11-22 22:37:12
700
原创 Android 使用ExpandableListView打造可展开列表组件
在项目中要用到,需要实现的效果如下:1、可遍历1-12个月份。2、可查看每个月份下对应的照片。运行效果如下:实现思路:一开始打算使用ScrollView嵌套一个LinearLayout,然后add进不同子项,不过这样写代码量会比较多,而且要做子项点击事件处理,逻辑会稍微复杂一点。最后使用了ExpandableListView组件,将数据全部抽离出来,依次
2016-11-19 15:27:09
983
原创 Android——插件化学习笔记(一)
写了一个月应用层代码,感觉写呕了,最近在研究插件化动态加载方面的东西。没错就是360的开源库:DroidPluginTeam还有一位大神写的很好的源码分析总结:understand-plugin-framework本文主要对第一篇:Android插件化原理解析——Hook机制之动态代理 遇到的一些问题以及解决最后的作业部分,并记录下作为学习心得笔记。对于刚接触这个的学者,可以起到一定作
2016-10-28 17:26:48
788
原创 仿知乎FloatingActionButton浮动按钮动画效果实现(二)
上文 仿知乎FloatingActionButton浮动按钮动画效果实现(一)介绍了知乎的FloatingActionButton的点击动画效果,以及遮布的实现。本文主要实现的是随着RecycleView的上下滑动,FloatingActionButton随之消失或出现的动画效果。效果图如下:实现过程:1、引入Google的desin包:compile 'c
2016-10-02 23:40:05
8178
4
原创 Android——MVP+Retrofit2.0+RxJava框架整合
对三者的学习已经有一段时间了,现在写了一个基础版本的整合Demo,因为下个项目就要正式开始了,这段时间会不断对该Demo进行扩展补充。Demo的Github地址:https://github.com/jiangzhengnan/SimpleMvpRxJavaRetrofit首先让我们回顾一下各部分的原理:MVP模式结构Model: 业务逻辑和实体模型View:用户交互和视图
2016-09-27 22:48:52
3243
4
原创 Android 做一款直播APP?一分钟掌握乐视云直播Demo
最近工作需要做一款直播APP,恩是的,从RTMP协议的实现开始到处理服务器高并发、负载均衡、客户端播放器实现等等等.....估计全部写完我也到而立之年了吧23333......BOSS们估计也是发现了我的困惑。。所以打算集成第三方sdk开发,现在大部分的直播产品都会借助第三方的直播技术,这样也可以保证直播的质量。于是开始了对当下主流直播sdk的调研之旅,以下有几个参考链接:最近市面
2016-09-19 16:10:59
2773
4
原创 RxJava学习(二)——RxJava使用场景总结
11个RxJava的实例集合类名一一对应内容,分别是:MainActivity——RxJava基础用法simplestAty——RxJava简单实例timer——延时操作interval——周期性操作twoexample——两个RxJava初始化demoschedulePeriodically——使用RxJava做轮询请求merge——合并两个数据源ma
2016-09-11 15:41:24
4155
原创 RxJava学习(一)——RxJava入门实践与上手Demo
学习响应式Java(RxJava)已经两天辣~看了几篇繁冗的博文以及资料,打算在此做一个简单的总结,供新手参考以及快速入门,也希望大家少走一些我碰到的弯路。首先是RxJava的Github地址:https://github.com/ReactiveX/RxJava在Studio下使用时我们需要添加依赖:compile 'io.reactivex:rxjava:1.0.14'com
2016-09-08 22:43:07
1579
原创 Android 仿网易一元夺宝客户端下拉加载动画实现(一)
上上周写的一个demo,仿照网易一元夺宝的下拉刷新效果。原效果是(第一部分)一个小太阳拉下来,然后松开回弹上去,(第二部分)再掉下来一个硬币进行中轴旋转。本文实现的效果的是第一部分的,效果演示图如下:Gif图看起来比较卡顿。。。其实真机演示效果还是很流畅的。下面分析实现过程:当时因为时间有限没有写在下拉刷新的组件中,也没有封装成一个单独的组件,只是在主布局后面写了一
2016-09-06 10:21:37
2431
1
原创 MVP源码实战解析——告别MVC,初识MVP
最近在筹备新项目的开发,打算使用google官方推荐的MVP配合Retrofit+RxAndroid打造一套新项目的框架。先从MVP开始学习,然而网上关于MVP的博客以及学习资料实在是太多,所以打算删繁就简,先研究一番google官方的MVP实例。谷歌的MVP框架源码已经发布五个多月了,如今已经成为了时下最火热的Android框架,其视图与模型完全分离的特性也受到了越来越多开发者的喜爱。
2016-09-02 12:49:32
1448
Android——实现光点模糊渐变的自旋转圆环特效,实现水滴波纹特效源码
2017-02-06
Android——实现RecyclerView左侧滑删除与右侧滑选择
2017-01-13
CSDN博客被误封,解封之后所有非置顶博客全都不在首页显示了!!!
发表于 2017-02-22 最后回复 2019-09-29
CSDN博客突然被封,求原因,求版主解封
发表于 2017-02-19 最后回复 2018-08-14
使用bintray更新Androidlib失败
2019-05-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝