240 发简信
  • 120
    Android自定义图片拖拽控件

    源码地址 基本思路 我们先考虑简单的情况,两个控件之间的图片拖拽,首先我们需要准备ImageViewA和ImageViewB两个ImageVie...

    0.5 2029 1 26
  • 120
    自定义可旋转、平移、缩放的ImageView

    源码地址 实现原理概览 我们要实现手指控制图片的平移、旋转、缩放,首先得知道手指做了什么动作,比如用户两指间距离是变大还是变小,两指是否做了移动...

  • 120
    Android各存储方式对比

    SharedPreferences SharedPreferences使用键值对的形式保存原始类型的数据 使用方式 原理 SharedPrefe...

  • 自定义view的基本流程

    有时候我们需要一些特殊的效果或者功能,而系统控件无法满足我们的需求,这时候就需要自己定义一个控件。 自定义view流程 继承View 要自定义V...

  • AsyncTask使用及分析

    AsyncTask基本用法 AsyncTask是一个抽象类,我们需要创建一个子类继承它才可以使用 AsyncTask有三个泛型参数 Params...

  • View的事件分发基本过程

    基本过程 View事件分发的原理是责任链模式,事件层层传递,直到被消费。 从Activity->PhoneWindow->DecorView->...

  • ArrayList常用方法源码分析

    属性 构造函数 add 判断是否扩容及扩容函数 get remove trim 当删除的元素很多,底层数组则有很多空间未使用造成浪费,此时可使用...

  • 数据库范式通俗易懂的解释

    原文地址 此为原文的精简版,个人学习笔记,之前学习各种范式的时候被一大堆严格的定义搞的头昏脑胀,看了刘老师通俗易懂的文章后终于豁然开朗,之前的疑...

  • Dagger2基本使用

    Dagger2是一个依赖注入框架,目前由google维护。关于依赖注入是什么可以看依赖注入简介 引入Dagger Dagger初体验 @Inje...

个人介绍
分享自学编程的经验