自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

余杭探险家

三十而立之前只会认真两次,一次是开始,一次是现在

  • 博客(43)
  • 资源 (3)
  • 收藏
  • 关注

原创 JavaPoet的使用指南

JavaPoet的基本介绍JavaPoet的基本介绍JavaPoet的小试牛刀JavaPoet生成类、接口对象JavaPoet构建方法JavaPoet添加注解,以及创建枚举JavaPoet添加文档注释使用JavaPoet如何生成代码JavaPoet的基本介绍JavaPoet的小试牛刀我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下...

2018-10-19 13:20:35 20441 18

原创 Android丨自定义折线图

日前,有一个“折现图”的需求,如下图所示:如何自定义折线图?首先将折线图的绘制部分拆分成三部分:第一步,需要定义出“折线图”原点的位置,由图得:可以发现,原点的位置由X轴、Y轴所占空间决定:计算Y轴宽度思路:遍历Y轴的绘制文字,用画笔测量其最大宽度,在加上其左右Margin间距即Y轴宽度计算X轴高度思路:获取X轴画笔FontMetrics,根据其top、bottom计算出X轴文字高度,在加上其上下Margin间距即X轴高度X轴第二步,根据原点位置,绘制X轴轴线、网格线、文本绘制轴线比较简单,沿原

2022-06-04 13:05:48 1688

原创 Android 中LayoutInflater(布局加载器)源码篇之parseInclude方法

本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/78176074前言如果读者没有阅读过该系列博客,建议先阅读下博文说明,这样会对后续的阅读博客思路上会有一个清晰的认识。Android中LayoutInflater(布局加载器)系列博文说明导航Android 中Layo

2017-10-08 17:29:04 3521 4

原创 Android 中LayoutInflater(布局加载器)之实战篇

本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/78112989前言如果读者没有阅读过该系列博客,建议先阅读下博文说明,这样会对后续的阅读博客思路上会有一个清晰的认识。Android 中LayoutInflater(布局加载器)系列博文说明导航Android 中Lay

2017-09-27 15:02:32 4645 2

原创 Android 中LayoutInflater(布局加载器)源码篇之createViewFromTag方法

关于LayoutInflater的详解系列博文

2017-09-26 16:14:08 4805 4

原创 Android 中LayoutInflater(布局加载器)之源码篇

前言如果读者没有阅读过该系列博客,建议先阅读下博文说明,这样会对后续的阅读博客思路上会有一个清晰的认识。Android 中LayoutInflater(布局加载器)系列博文说明导航Android 中LayoutInflater(布局加载器)系列分为三个模块,分别是:Android 中LayoutInflater(布局加载器)系列博文说明Android 中LayoutInflater(布局加载器)系列

2017-09-26 16:13:05 2461

原创 Android 中LayoutInflater(布局加载器)之介绍篇

关于LayoutInflater的详解系列博文

2017-09-26 16:10:17 3072

原创 Android 中LayoutInflater(布局加载器)系列博文说明

关于LayoutInflater的详解系列博文

2017-09-24 22:41:07 5836 8

原创 Android 中LayoutInflater(布局加载器)源码篇之rInflate方法

本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/78017065前言如果读者没有阅读过该系列博客,建议先阅读下博文说明,这样会对后续的阅读博客思路上会有一个清晰的认识。Android 中LayoutInflater(布局加载器)系列博文说明导航Android 中Lay

2017-09-18 11:08:14 2090

原创 一个有特点的正六边形RecyclerView---HexagonRecyclerView详解篇

自定义一个正六边形的RecyclerView。

2017-07-25 10:41:41 8125 12

原创 一个有特点的正六边形RecyclerView---HexagonRecyclerView介绍篇

本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/75634644HexagonRecyclerViewGithub链接:https://github.com/Vander-liu/HexagonRecyclerViewHexagonRecyclerView的完全解析H

2017-07-21 11:14:54 2023

原创 Android软键盘的全面解析,让你不再怕控件被遮盖

本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/74528641背景1.Android软键盘这块从我入职到现在,是一个一直纠缠我的问题。2.从布局挤压,到EditText显示不全,在到弹出时卡顿,在Android软键盘面前我无数次跌倒。3.因为网上大多数的知识点比较分

2017-07-10 11:50:16 33980 62

原创 Java四种引用---强、软、弱、虚的知识点总结

Java的四种引用

2017-07-02 17:31:26 9951 8

原创 Groovy基础语法总结

写作目的1.在Android Studio上不可避免的会涉及到Gradle的构建,而Gradle的构建正是基于Groovy之上.2.相当于Groovy语法上的总结记录的博客,后续会继续更新.3.更好的总结,有利于知识的巩固.简介Groovy是从Java衍生出来的,并且运行在Java虚拟机上的语言.其目标是不管作为脚本语言,还是编程语言,都可以简单、直接使用。Groovy

2017-04-14 10:38:32 2745 4

原创 应用最广的模式--单例模式

单例模式的介绍

2017-04-13 10:16:55 1108 5

原创 带你轻松看源码---AsyncTask(异步任务)

前言导读串行和并行的概念Android的消息机制Handler的原理队列的概念容器ArrayDeque的使用AsyncTask的内部模块图前言:本篇文章主要介绍AsyncTask的内部工作原理在阅读文本之前,如果你不太了解AsyncTask,可以先参考我的博客AsyncTask(异步任务)分析之基本使用文中涉及到一些术语如:串行、并行、队列这些关键词

2017-04-01 17:50:43 4322 6

原创 深入理解在Android中线程池的使用

前言(1)本文共花费2周零3天的凌晨时光,这段时间收获很多.(2)从整理文章,作者从线程-->阻塞队列-->二进制-->线程池的内部机制,一路走来,本来是想写一篇为AsyncTask做铺垫的文章,没想到越写越多.(3)文章中如果错误,请大家及时指正,作者会及时更新.(4)希望大家能够从文章中.多多收获,迄今为止,博主最好的一篇文章,也是花了大力气最用心的一篇文章.线程在了解线程池之前,先给大家介绍下

2017-03-29 11:39:04 36844 39

原创 深入了解双端队列Deque

本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢博客地址:http://blog.csdn.net/l540675759/article/details/62893335Deque的类图由上图可知Deque在Java中以接口的形式存在,同时Deque还继承Queue(队列)的接口。Queue队列 队列是一种特殊的线性容器,它是一种先进先出(FIFO)的数据结构。

2017-03-18 17:57:23 31431 1

原创 线程中同步、异步、串行、并行

从线程的时效来看分别同步和异步从线程的执行来看线程队列分为串行队列和并行队列从线程的时效来看,分别同步和异步 同步:就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回,程序也不会接着往下执行。按照这个定义,其实绝大多数函数都是同步调用。 异步:当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调(Handler机制)来通知调

2017-03-17 22:36:06 8238 8

原创 AsyncTask(异步任务)分析之基本使用

AsyncTask是什么AsyncTask怎么用AsyncTask的参数介绍AsyncTask的主要方法介绍AsyncTask的Demo测试参考文章AsyncTask是什么?AsyncTask是一种轻量级的异步任务类,它可以在线程池中执行后台任务,然后可以把执行的进度和最终结果传递给主线程,并且能够在主线程更新UI.从实现上来说,AsyncTask封装了Thread和Handler,通过A

2017-03-15 23:24:56 1078

原创 Http多线程下载文件的处理机制

导读:1.http关于下载的相关字段.2.Android多线程下载的原理.3.Android上面进行Http请求下载的需要解决的一些问题.1.http关于下载方面的一些字段(1)Transfer-Encoding(2)content-length(3)rangeTransfer-EncodingTransfer-Encoding,是一个HTTP头部字段,字面意思是传输编码.Transfer

2017-03-15 00:21:45 4010 1

原创 Http协议缓存的处理机制

导读1.本文的研究环境是在Android客户端与服务器通信的基础上,进行研究.2.文章内大部分内容由作者经过学习,整理而成.如果有错误希望大家及时指明.3.如果对本文对于HTTP协议缓存的处理机制,感觉内容不够,请查看最后的参考文章.Http协议缓存的处理机制1.为什么要有缓存?2.浏览器的缓存工作原理.3.缓存引起的问题.4.缓存的相关字段.为什么要有缓存(本地缓存)? 根

2017-03-11 19:12:46 1088

原创 Python生成词云的制作

什么是词云? 词云又叫文字云,是对文本数据中出现频率较高的”关键字”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思. 现成的词云制作工具也很多:1.Wordle是一个用于从文本生成词云图而提供的游戏工具.2.Tagxedo可以在线制作个性化词云.3.Tagul是一个Web服务,同样可以创建华丽的词云.4.Tagcro

2017-03-10 23:53:42 10567

原创 Android动画之旅(六)----放大镜的特效动画

动画核心:1.主要考验动画的拆分,然后分析动画.2.判断一个动画好与坏,主要是看动画的平滑程度,而能解决动画不平滑需要做很多处理,这就考验做动画的人的能力.3.mPaint.setStrokeCap(Paint.Cap.ROUND)画笔的笔刷 是方形 还是圆形,看平滑程度.4.两种控制动画的手段(1) onDraw{ switch(status){ case 0 :

2017-02-28 17:04:57 1738 2

原创 Android动画之旅(五)----容器的填充动画

动画思路:1.首先波浪形的加载,就是贝塞尔曲线加上动画,给上下方向和左右方向设置动画就OK.2.让一个东西显示在某张图片或图形之上,需要给画笔设置PorterDuffXfermode这个类.让其绘制公共区域,详情参加安卓群英传. porterDuffXfermode = new PorterDuffXfermode(PorterDuff.Mode.SRC_IN);3.需要用到画布和绘制

2017-02-28 17:00:51 1972

原创 Android动画之旅(四)----小球拟合动画

动画组成:1.通过三阶贝塞尔曲线来拟合圆,拟合系数的由来,以及怎么选控制点.2.利用画布canvas.translate,以及scale,rotate的方法,来渐变绘制的过程.3.熟悉拟合过程.4.不熟悉的话,先绘制辅助点的移动路线,对理解两个圆的分裂的拟合过程有好处.package com.example.administrator.animationworkdemo.views;import

2017-02-28 16:59:45 770

原创 Android动画之旅(三)----6个小球移动的轨迹动画

动画组成:1.贝塞尔曲线和PathMeasure结合使用。2. mPathMeasure.getPosTan(float v,float [] pos ,float[] tan)的使用。3.通过动画0到1形成轨迹动画。package com.example.administrator.animationworkdemo.views;import android.animation.Animator;

2017-02-28 16:58:09 5315

原创 Android动画之旅(二)----两个小球旋转的动画,形成视觉差的效果

第二个 两个小球旋转的动画,形成视觉差的效果动画组成:主要是左右两个小球的位移和体积变化动画.1.要利用ObjectAnimator的target,target可以是控件,也可以是类,只要包装类存在需要你动画改变的方法.package com.example.administrator.animationworkdemo.views;import android.animation.Animato

2017-02-28 16:56:56 1523 1

原创 Android动画之旅(一)----小球弹起动画

学习了一段时间安卓动画 有时间会整理一下,先暂时这样看吧.动画组成:1.主体是一个小球沿着运动轨迹做加速运动,然后设置循环,以及逆向播放.2.在小球下落到最底部的时候,小球会产生形变.变成椭圆3.在小球快要触底的时候,会产生阴影.(阴影也是椭圆)4.点击变色主要是画笔的绘制变色. 关键代码:package com.example.administrator.animationworkdemo.vi

2017-02-28 16:49:38 3577 6

翻译 WebView设置之WebSettings

WebSettings(1)WebSettings是控制WebView的管理者,当WebView第一次被创建的时候,它包含着一些默认设置,这些默认设置可以通过get器来获得.(2)通过WebView的getSetting()可以获得与WebView生命周期相关的WebSetting对象.(3)如果调用getSetting时,WebView已经destory(),那么将会抛出空指针异常.嵌套类

2017-01-24 18:56:11 3536

原创 WebView设置之WebViewClient

WebViewClient的介绍

2017-01-24 18:55:30 5004

翻译 WebView设置之WebChromeClient

WebChromeClient简介WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等.

2017-01-24 18:54:35 6328 2

原创 WebView的介绍

WebView介绍WebView的使用简介==WebView 在使用的时候,主要设置三大部分内容:== (1)WebChromeClient 得到浏览器内部的反馈,包括加载情况以及对JavaScript的反馈. (2)WebViewClient 设置加载Web内容的相关,包括展示错误的反馈. (3)WebSetting WebView的内

2017-01-24 18:53:53 1095

翻译 WebView翻译的API大全

WebView的API翻译合集

2017-01-24 18:50:21 2399

原创 类型安全转换的工具类

有时候我们发现,解析下来的数据有时候会因为后台没有处理好,会造成空指针的现象,而导致程序崩溃. 这里是因为我们对 Object 对象没有进行很好的安全转换. 正常来说:我们拉去的解析数据 int result=Integer.valueOf(obj.getString(“result”)); 这时候一旦 obj(Object)为空,那么程序就会崩掉. 所以这里我们要建立一个辅助的工具类:包

2016-04-25 21:54:17 873 3

原创 Android Studio 获取应用的 sha1 值

注册一些开放平台的时候,需要使用到这些值,这里把命令记录一下: 获取debug.keystore的值: keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass android -keypass android 获取自定义key的: cd 到你的key所在的目录下 keyto

2016-04-22 19:33:17 617

原创 进制间的转换,以及逻辑运算,位运算在进制间的使用

前段时间,在封装 ImageLoader 的时候,设计到 MD5转换,看到位运算符,然后今天想花点时间,把之前学的最基础的 进制以及位运算知识搬到网上然后就有了这篇博客.一、进制篇 首先,对于整数来说,有四种表现形式: 1.二进制:0和1组成, 规则:满二进一; 2.八进制 : 由0-7组成,规则:满八进一; 以0开头。 3.十进制 : 由0-9组成,规则:满十进一; 4.十六进制:有0

2016-04-10 17:55:42 1514

原创 图片切换器+dp--->sp--->px 的单位转换器

这几天一直在整理组件想留着以后使用.还是一点一点整理吧.今天把上周整理的 ImageSwitcher 和单位转换器(dp/sp/px). 下面上内容 ImageSwitcher: 图像查看器,好像是老组件了,今天先更一个基础的组件,后期如果有时间继续扩展. 那么图像查看器,就是和 Windows 系统下的图片查看器比较类似.自带上一张和下一张的功能. 这个组件有以下

2016-04-10 16:51:10 1408 1

原创 安卓自定义组件之------->卫星菜单

直接步入正题:卫星菜单 ArcMenu 相信大家接触安卓,从新手到入门的过渡,就应该会了解到卫星菜单、抽屉、Xutils、Coolmenu、一些大神封装好的一些组件。这些组件在 Github 上面很容易搜得到,但是有时候打开会发现看不懂里面的代码,包括一些方法和函数 。。。。。 首先先上效果图: 首先如果要想自定义组件 1.那么第一件事就是赋予

2016-03-26 16:37:20 1839 6

原创 升级到Android Studio ,出现Toolbar无法使用的情况.

使用toolbar报错信息!!!!! 出现Binary情况, 无法加载toolbar,还有怪异的#17行问题.只需要将Android Studio 的 Buide To Version 调回 23.0.1,即可正常使用Toolbar. 然后导包时,将v7包重新导入,并且后缀更改为23.0.1.command +; ——–>导包界面 在app界面下 进行操作和更改.

2016-03-04 19:39:51 1498

Android 中LayoutInflater(布局加载器)之实战篇Demo

Android 中LayoutInflater(布局加载器)之实战篇 博客的Demo 博客地址: http://blog.csdn.net/l540675759/article/details/78112989 两种方式实现小红书的引导页: (1)自定义View (2)自定义LayoutInflater.Factory2

2017-09-28

安卓软键盘之上弹出绑定View

软键盘弹出之后,计算软键盘的高度,将自定义的View设置于软键盘之上。代码重点计算了如何让软键盘显示与隐藏,并且,还解决了如何点击软键盘与自定义View 之外的区域,让软键盘隐藏而不会与其他控件的点击事件冲突。

2016-06-06

安卓带签到的日历--自定义组件

可根据此定制开发,自己需要的日历软件,界面简洁.

2016-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除