一个有思想的搬运工

我浑浑噩噩,却又不甘落寞

排序:
默认
按更新时间
按访问量

屏幕刷新机制 笔记整理

参阅文章:Android 屏幕刷新机制 需要先仔细阅读一下原文,我这里只是把一些讲解步骤抽炼出来,使得看起来更直观。 根据原文可以知道, View#invalidate() 最终会走到 ViewRootImpl#scheduleTraversals() 每个 Activity 对应一颗以 Dec...

2018-11-09 21:37:53

阅读数:38

评论数:1

反编译工具 Jadx 初级使用记录

反编译工具 Jadx :https://github.com/skylot/jadx 操作环境为 Mac 首先新建一个文件夹,可以命名为 jadx,然后把项目 clone 进该目录,之后再编译: mkdir jadx git clone https://github.com/skylot/jadx...

2018-10-25 11:23:42

阅读数:32

评论数:0

禁止 ScrollView 在子控件的布局改变时自动滚动到最底部

在做项目的时候,遇到了一个问题,就是有下面那样一个布局: 某种情况下要动态改变 ViewPager 的高度,但是有时候再改变之后,整个页面会自动滑动到最底部,而不是保持原有的位置。 解决方法: 重写scrollview中的如下方法,并将其返回值设为0即可。 @Override protected...

2018-10-17 17:32:19

阅读数:19

评论数:0

点击事件分发机制 关键源码笔记

请注意,涉及到的源码 SDK 版本为 27,不同版本可能存在偏差,一切以具体的源码为准。 文字部分主要参考自 《Android 开发艺术探索》,源码部分的解读主要参考自 Android 触摸事件机制(四) ViewGroup中触摸事件详解,但是也加入了自己的思考。 首先,需要明确的就是,同一个事...

2018-10-09 16:24:40

阅读数:51

评论数:1

自定义实现横向圆角进度条——简易版

UI 说需要实现这样圆角横向进度条,好,于是我就去屁颠屁颠的 Google。下面就是我的辛酸历程。 1、 设置 ProgressBar 的 android:progressDrawable 属性 首先找到的一种实现方法就是为 ProgressBar 设置 android:progressDra...

2018-09-23 13:36:04

阅读数:113

评论数:0

Android Studio 的 editor-fold 标签

editor-fold 是基于 IntelliJ 的 IDE 给我们提供了一种能够给我们的代码块进行归纳的标签。 具体的效果以及使用方法参照 :https://puke3615.github.io/2017/03/21/Android-Studio-Code-Block-Mark/...

2018-09-04 13:01:14

阅读数:90

评论数:0

Android Hook 机制备忘

Hook,又叫钩子,通常是指对一些方法进行拦截。这样当这些方法被调用时,也能够执行我们自己的代码,这也是面向切面编程的思想(AOP)。 这里涉及的是 Java 层面的 Hook。 需要涉及的内容: 1、代理模式 2、反射机制 具体的步骤是: 1、找出 Hook 点(即找出被 Hook 的...

2018-08-31 15:31:27

阅读数:56

评论数:0

Android 中的 tint 着色器

使用 tint 着色器,结合矢量图,可以用一张图片,适配多中颜色(前提是纯色的)。就像下图的效果: 另外,还可以更进一步的实现 selector。 主要参考的文章: 1、安卓着色器(tint)使用实践。 2、从使用到源码,细说 Android 中的 tint 着色器 在具体的使用...

2018-08-27 14:37:35

阅读数:113

评论数:0

ConstraintLayout —— 约束布局 知识点整理

参考文章: 1、Android官方文档 2、约束布局(ConstraintLayout)1.1.2 版本的新特性 3、android ConstraintLayout使用详解 4、Android ConstraintLayout+ConstraintSet实现动画效果 Constra...

2018-08-25 10:43:25

阅读数:1122

评论数:0

用 layer-list 实现指定边际的边框

最近在开发的时候,遇到一个有关 UI 的需求,大概就是要实现一个背景图,存在左、右、下方向上的边框,并且下边两个角要为圆角。 示例的效果图如下: 其中黑色的为边框。 然后就是具体的实现逻辑,使用的就是 shape,借助 layer-list: <layer-lis...

2018-08-21 12:57:04

阅读数:77

评论数:0

【Java 注解】笔记整理

阅读文章: 1、秒懂,Java 注解 (Annotation)你可以这样学 2、深入浅出Java注解 3、Java 技术之注解 Annotation 4、AbstractProcessor注解处理器 注:下文 1 - 3 主要摘抄自 深入浅出Java注解 1、注解的定义 A...

2018-05-06 11:55:21

阅读数:37

评论数:0

与 Android 屏幕适配有关的笔记

前言: 对于 Android 来说,屏幕适配一直是一个不能忽略的点,毕竟手机厂商太多,屏幕碎片化太严重。虽然本人对于适配也看过了一些文章,但是一直是一知半解,而且在实际的项目中也接触得少,所以一直处于梦游状态。因为我有时候就会很懵,给我一张图,我应该放在哪个目录里面?drawable、drawa...

2018-04-19 23:26:47

阅读数:32

评论数:0

《Android 高性能编程》—— @IntDef 注解,减缓枚举的使用

在书中的 P120 - 123,有介绍枚举,因为枚举对开发者友好,数量有限的元素、描述性的文字,可以增强代码的可读性,并且还支持多态。 但是在性能上说,使用枚举却不一定是最佳的选择,因为枚举在经过编译器之后,变成了一个抽象类,它继承了 java.lang.Enum,为其定义的枚举常量则会变成相应...

2018-04-17 14:18:26

阅读数:101

评论数:0

“Android 硬件加速与 View Layer ”知识点笔记

阅读文章:HenCoder Android 自定义 View 1-8 硬件加速 辅助参考文章: 1、Display List构建过程分析 2、Android硬件加速原理与实现简介 3、关于硬件加速的那么点儿东西 4、《Android高性能编程》 P53 - P56 5、《Android...

2018-04-04 11:18:17

阅读数:99

评论数:0

RxJava2 学习笔记 (二)

1、compose 操作符 compose 是用于复用的,可以把几个常用的操作函数封装为一个函数来复用代码,但是需要结合 ObservableTransformer 来使用的(在 RxJava2 中) 参考文章(使用的还会 RxJava1 的逻辑,会有差异): RxJava中操作符组合的复用...

2018-03-31 18:29:53

阅读数:38

评论数:0

《Android 复杂的列表视图新写法 MultiType》知识点整理

阅读自:Android 复杂的列表视图新写法 MultiType 1、实现线性布局和网格布局混排列表 的讲解 效果图 为了实现如上图的线性和网格的混合视图效果,只需要一个 GridLayoutManager(其继承自 LinearLayoutManager)而关键的代码就是下图中的为 Gri...

2018-03-29 10:31:56

阅读数:153

评论数:0

RxJava2 学习笔记

有关 RxJava2 的学习笔记 额外参考文章:Android 响应式编程 RxJava2 完全解析 一、给初学者的RxJava2.0教程系列 1、创建的 Observable 和 Observer 的实例,不是一次性的(暂时需要加上某些前提,如在一般情况下),可以被重复使用,如下面...

2018-03-25 23:35:14

阅读数:30

评论数:0

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