Android自身提供了许多widgets,但是有时候这些widgets并不能满足我们的需求,这时我们就需要自定义View,本文会详细说明自定义View的各种理论基础,只有理解了这些知识,我们才能更好地实现各种功能的控件。

我觉得自定义View中最重要的部分就是绘图和交互,自定义的绘图使得你的View与众不同,交互使用户可以与你的View进行交互,而绘图的前提是View的量算与布局,交互的基础是触摸事件,所以量算、布局、绘图、触摸事件这些是自定义View的核心。

除此之外,一个设计友好的自定义View还应该可以像Android中自带的widget一样在XML中定义属性,本文也会对此进行介绍。

  • 量算、布局及绘图机制概述
    Android中View的量算、布局及绘图机制

  • 量算
    源码解析Android中View的measure量算过程

  • 布局
    源码解析Android中View的layout布局过程

  • 绘图
    Android中Canvas绘图基础详解(附源码下载)
    Android中Canvas绘图之PorterDuffXfermode使用及工作原理详解
    Android中Canvas绘图之Shader使用图文详解
    Android中Canvas绘图之MaskFilter图文详解(附源码下载)
    Android中GPU硬件加速控制及其在2D图形绘制上的局限
    图文详解Andorid中用Shape定义GradientDrawable

  • 触摸事件
    Android中的MotionEvent
    Android中TouchEvent触摸事件机制

  • 定义XML属性
    Android中View自定义XML属性详解以及R.attr与R.styleable的区别

希望本文对大家有所帮助,后面会多写一些自定义View实例的文章。

相关阅读:
我的Android博文整理汇总

更多相关文章

  1. android 中的 Matrix,ColorMatrix 详解
  2. 13-6-27 android布局include的用法
  3. Android(安卓)View源码解读:浅谈DecorView与ViewRootImpl
  4. Android图形图像处理:canvas的save()和restore()函数详解
  5. 第一行代码第二版(郭霖著)笔记之第五章(详解广播机制)
  6. RSA公钥、私钥的生成详解,包含Java、PHP、Android、iOS端
  7. Android布局类型资源(二)---XML、drawable、layout
  8. Android集成百度定位以及导航详解
  9. android 5.0和6.0后新增的控件总结

随机推荐

  1. 【Android】Zip文件解压方法
  2. android 判断应用程序是否已安装
  3. Android中获取指定日期是星期几
  4. android窃密短信监听
  5. android手机状态解释,比如android.os.Buil
  6. Android(安卓)Studio 3.1.1更新问题Could
  7. Android - 购物车页面【仿】淘宝App
  8. Android 百度地图的使用
  9. Graphics->Compass
  10. Android:Material Design详解