自定义View有如下三种途径:

  • 继承现有控件,对现有控件进行扩展
    这种方式主要用于在现有的控件基础上通过覆写onDraw方法来改变现有View的外观。通过这种方式还可以添加新的属性,以及添加新的交互事件等。
  • 通过将几个控件组合在一起形成一个新的控件
    这种方式一般通过继承一个ViewGroup,将一些现有控件添加到容器中,从而组合成新的复合控件。
    在这种情况下一般有如下步骤:
    • 新建子View,为子View设置对应的属性
    • 新建LayoutParams以及调用LayoutParams.addRule创建布局属性
    • 调用addView并传入子View,以及上述创建的LayoutParams来确定其位置
  • 从头到尾重新实现一个View
    这种方式见之前总结的自定义View的博文。
Contents