各位看官们大家好,上一回中咱们说的例子是"给EditText添加眼睛图片来实现显示和隐藏密码功能",这一回中咱们说的例子是"自定义View的思路"。闲话休提,言归正转,让我们一起Talk Android吧!
使用背景
在实际项目中会遇到一些功能无法通过系统自带的UI控件实现,此时就需要自定义View。我们在一百回左右介绍过自定义View的知识,不过没有一个整体的思路,本章回中将介绍自定义View的整体实现思路,并且分享一些我在自定义View中积累的经验。
整体思路
自定义View有很多分类,不同的分类有不同的思路,我们先依据分类来介绍具体的思路,然后再介绍整体的思路:
- 扩展系统控件。就是对系统现有的控件进行扩展.
它的实现思路:定义系统控件的子类,在子类中对系统控件进行扩展,比如添加事件或者画一些特殊的图形和文字;添加事件需要重写父类的onTouchEvent()方法;画图形或者文字需要重写父类的onDraw()方法。onMeasure()和onLayout方法不需要重写,使用父类的就可以。 - 自定义View,就是创建一个全新的View。
它的实现思路:定义View的子类,在子类中实现View的各种功能:测量,布局、绘制、响应事件。实现这些功能通过重写View类的方法来实现:onMeasure(),onLayout(),onDraw(),onTouchEvent().通常情况下
自定义Android View:实现思路与经验分享
本文探讨了自定义View的多种类型及其实现思路,包括扩展系统控件、自定义全新View、扩展布局及自定义ViewGroup。重点介绍了自定义View的整体流程,强调了明确需求、选择分类和理解测量、布局、绘制等关键步骤的重要性。同时,分享了作者在实践中总结的关于事件处理和避免不必要的方法重写的经验。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



