天天看点

Android中自定义View、ViewGroup理论基础详解

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的区别

  • 实例

    [GitHub开源]Android自定义View实现微信打飞机游戏

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

相关阅读:

我的Android博文整理汇总