Android自定义View的实现

很多时候,Android自身提供给我们的视图可能不能满足我们的需求,这个时候我们就需要自定义视图 。

1. 自定义视图分类

  • 单视图:单视图不包括子视图。单视图几乎总是用来处理定制绘制。
  • 组合视图 :组合视图一般包括多个子视图。在组合视图中一般不处理绘制事件,而是对子视图进行管理,绘制的任务一般都是由子视图来完成。如自定义导航栏和自定义搜索栏等。

2. 自定义视图的实现步骤

(1) 继承已有控件

继承已有的控件,创建新控件。不仅保留父控件的特性,并且还可以引入新特性。

  • 一般来说,如果想在某个控件的基础上进行拓展,一般选择该控件为父类进行自定义视图。如实现ListView的横向滑动可置顶或删除列表项。
  • 如果想更加自由一下,可以选择 View 作为我们的父类,继承View 相当于我们在一张空白的画纸上作画,自己绘制内容,更加自由,所以这种方法用的最多。如完全自绘控件示例。

备注:Android中View继承关系如下

View继承图.png

(2) 重写使用到的相关方法。如:

  • 绘图:重写onDraw方法实现绘图
  • 用户交互:重写 onTouch(自定义视图需实现OnTouchListener接口)、onTouchEventonClick(自定义视图需实现OnClickListener接口) 方法来实现用户交互。

你可能感兴趣的:(Android自定义View的实现)