240 发简信
IP属地:广东
  • 120
    高级UI10-View的基础体系

    一、View基础知识 1.1 View的位置参数 1.2 TouchSlop TouchSlop是系统所能识别出被认为是滑动的最小距离,换句话说,当手指在屏幕上滑动时,如果两...

  • 120
    高级UI9-CooridinatorLayout原理应用+nestedscrolling组合完成下拉特效

    一、关键词Behavior 先来介绍一下Behavior,我们在开发过程中可能会遇到这样一个小需求,就是在Button点击滑动的过程中,还额外的需要一个TextView一起跟...

  • 120
    高级UI8-自定义动画框架

    问题一:如何让系统的控件(TextView)识别自定义属性? 思路:先看源码怎么去加载xml中定义的自带的属性和View的,入口是PhoneWindow的setContent...

  • 120
    高级UI7-View事件纷发解析

    一、源码解析事件纷发流程: 步骤一、方法入口:Activity#dispatchTouchEvent() 步骤二、接下来是调用到ViewGroup#dispatchTouch...

  • 120
    高级UI6-屏幕适配解决方案

    一、屏幕适配概念 1.什么是屏幕尺寸、屏幕分辨率、屏幕像素密度? 屏幕尺寸:指屏幕的对角线的长度,单位:英寸,1英寸=2.54厘米;屏幕分辨率:指横向和纵向上的像素点数,单位...

  • 高级UI5-Canvas和Paint

    前言上一篇再讲Draw源码时,会传入一个Canvas对象,那么这篇文章我们要来分析Draw和Canvas还有Paint到底有何联系。 1.Canvas和Paint的关系 其实...

  • 高级UI4-UI绘制流程(Draw绘制)

    前言从前面的几篇文章我们能够知道UI的测量和布局摆放,那么这次我们来关注下UI是怎么具体画出来的,首先要了解的是具体绘制的流程以及Canvas和Paint在这中间所扮演的角色...

  • 高级UI3-UI绘制流程(摆放布局onLayout)

    View布局摆放 在performTraversals的测量performMeasure被调用之后,我们继续往后会看到performLayout的调用: 代码中的host就是...

  • 120
    高级UI2-UI绘制流程(测量布局onMeasure)

    前言上一次我们讲到了最基本的android运行流程和绘制流程的调用顺序,我们最终得到一个结论是activity的生命周期是由系统服务所触发,由系统服务所发起handle调用到...

  • 120
    高级UI1-UI绘制流程详解(整体启动流程)

    本文的思路:Android程序启动-->Activity加载并完成生命周期-->setContentView-->图形绘制。 疑惑: 1.Android程序是如何启动,Act...

  • 120
    Glide开发之旅2-ModelLoader以及注册机制

    一、ModelLoader Glide通过ModelLoader完成图片的加载过程封装。 使用Glide图片可能存在于文件、网络等地方。其中的Model则代表了加载来源模型:...

  • 120
    Bitmap缓存-内存缓存+磁盘缓存+复用池

    这一篇是在Glide开发之旅1的文章上面的扩展,这里讲到了二级缓存(内存+磁盘)再结合复用池的理念去写的一款简单易懂的demo。 一、内存缓存 代码中通过定义一个LruCac...