
Android高级
宁一城
Good better best,Never let it rest,
Till good is better,And better best。
(好上加好,精益求精;
不到绝顶,永远不停)
展开
-
源码解析:Android中的Context
源码解析:Android中的Context目录:Context到底是什么Context 继承关系何时创建Context如何获取ContextgetApplication()和getApplicationContext()Application Context的设计正确使用ContextContext到底是什么Context的中文翻译为:语境; 上下文; 背景; 环境,在开发中我们经常说称之为“上下文”,那么这个“上下文”到底是指什么意思呢?在语文中,我们可以理解为语境,在程序中,我们原创 2020-06-11 14:51:18 · 251 阅读 · 0 评论 -
面试造火箭系列:一、Android 绘制原理
面试造火箭系列:一、Android 绘制原理目录View 树的绘图流程View 绘制流程函数调用链Measure 和 Layout 的具体过程自定义一个TagGroupView 树的绘图流程View树的绘图流程是由核心类:ViewRootImpl来处理的,ViewRootImpl作为整个控件树的根部,它是控件树正常运作的动力所在,控件的测量、布局、绘制以及输入事件的派发处理都由ViewRootImpl触发。核心成员变量这里我主要讲几个Handler:ViewRootHandler这原创 2020-06-10 19:21:29 · 521 阅读 · 0 评论 -
Xfermode原理与案例
Xfermode原理与案例目录:Xfermode的基本原理Xfermode的多种模式Xfermode的使用案例Xfermode的基本原理Xfermode是什么?在Android绘制中,通过使用Xfermode将绘制的图形的像素和Canvas上对应位置的像素按照一定的规则进行混合,形成新的像素,再更新到Canvas中形成最终的图形。像素组成的4元素:ARGB我们一个像素的颜色都是由四个分量组成,即ARGB,A表示的是我们Alpha值,RGB表示的是颜色S表示的是源像素,源像素的原创 2020-06-10 14:29:36 · 1251 阅读 · 0 评论 -
自定义View:优惠券布局
自定义View:优惠券布局效果图如图所示,这里主要是优惠券作为外层视图的绘制,需要绘制的内容如下:左边约占1/4宽度的背景色左边边缘半圆右边3/4宽度的背景色右边半圆思路分析首先:整体分为两部分绘制,左边的淡粉色部分和右边的白色部分,然后每一遍添加一个半圆,关键就是半圆这里怎么添加上去?这里用到Path,用两个Path,矩形的Path和圆形的Path,然后两个Path去相切得到目标效果实现自定义View ,这里我们继承自ConstraintLayout,方便内容的布局clas原创 2020-05-20 16:23:18 · 576 阅读 · 2 评论 -
ConstraintLayout-那些很有用但是你可能不知道的用法
ConstraintLayout-那些很有用但是你可能不知道的用法前沿本篇不讲ConstraintLayout的常规用法,会讲一些约束布局很用的,但是可能你并不知道的用法一、B相对于A底部居中对齐如上图所示:需要B布局相对于A布局的底部垂直居中对齐,水平居中对齐方案1 使用LinearLayout为外层布局需要指定B一个固定高度给定B一个负的向上的margin,值为B高度的一半代码和效果如下所示:缺陷:很明显,如果只是使用XML布局的形式(不通过代码动态计算),B布局需要固定一个高原创 2020-05-19 18:08:03 · 6722 阅读 · 5 评论 -
Android Gradle构建思维导图
Android Gradle构建思维导图一张图完全解析Android 的gradle 构建原创 2020-04-17 11:30:48 · 412 阅读 · 0 评论 -
全面认识Android OS
12313转载 2020-01-10 11:48:40 · 2796 阅读 · 0 评论 -
【Jetpack Compose最新版详解】(持续更新)
【2020】Android开发颠覆性的一年拉开序幕原创 2020-01-05 22:46:45 · 8698 阅读 · 4 评论 -
【2020】Android轮子,99个可以直接拿来用的代码片段(持续更新)
【2020】Android轮子,100个可以直接拿来用的代码片段(持续更新)1.EditText限制输入大于0的金额,其中mBalance是能输入的最大金额@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) { try { if (s.toString...原创 2019-12-25 18:51:43 · 2598 阅读 · 0 评论 -
Android 最佳实践
Android 最佳实践此篇文章主要用来记录一些在日常Android开发中比较好用的一些库或者方法1:TextView相关通用TextView的封装:https://github.com/lygttpod/SuperTextView带动画的文字:https://github.com/hanks-zyh/HTextView一个倾斜的TextView:https://github.com/...原创 2019-12-25 11:44:33 · 2230 阅读 · 0 评论 -
Handler核心概要
Handler核心概要本篇主要总结Handler的一些十分重要和特性,先不对细节进行深入(比如消息循环是一个死循环为什么不会卡死线程等)在Android中提供了一种异步回调机制Handler,使用它,我们可以在完成一个很长时间的任务后做出相应的通知UI线程:就是我们的主线程,系统在创建UI线程的时候会初始化一个Looper对象,同时也会创建一个与其关联的MessageQueueHandl...原创 2019-12-25 10:10:17 · 2070 阅读 · 0 评论 -
HTTP 完全解析
Http 详解HTTP 的定义HTTP即是:Hypertext Transfer Protocol,超文本传输协议,⼀种⽹络传输协议,位于 TCP / IP 协议族的最顶层——应⽤层URL说到HTTP,不得不说URL,URL(统一资源定位符)是URI(统一资源标识符)的一个子集,用来标识网络上某一资源的位置。URL格式:三部分:协议类型、服务器地址(和端⼝号)、路径(Path)也即是...原创 2019-12-25 00:28:35 · 2960 阅读 · 0 评论 -
RxJava的使用总结
RxJava的使用总结什么是RxJava?官方的定义:一个在Java VM上使用可观测的序列,组成异步的、基于事件的程序的库此篇文章只是对日常使用的RxJava的一个总结,没有任何高深的原理,只是实际使用中一些总结被观察者常用方法(Observable.xx)subscribe :订阅,被观察者调用,传入观察者作为参数subScribeOn:订阅在,被观察者调用,一般用来指定被观...原创 2019-12-24 20:03:07 · 2064 阅读 · 0 评论 -
RecycleView的ItemDecoration详解
RecycleView的ItemDecoration详解ItemDecoration:顾名思义,就是给RecycleView的Item项做装饰的1. 系统默认实现DividerItemDecoration 是系统提供给我们的实现,可以实现 LinearLayoutManager 中的分割线效果,但是其他的 LayoutManager 就得我们自己写了 //添加分割线 recycle....原创 2019-12-24 13:04:07 · 2496 阅读 · 0 评论 -
Kotlin高级-实例详解委托
Kotlin高级之委托1、委托 Delegation2、中缀表示法 Infix Functions3、操作符重载 Operator Overloading4、高阶函数 Higher Order Functions and Inling5、带接受者的 Lambda Lambdas with Receiver6、领域定义语言 Domain Specific Languages7、泛型和修...原创 2019-12-22 17:02:49 · 2259 阅读 · 0 评论