当前位置: 代码迷 >> Android >> Android控件:自定义View学习资源集锦
  详细解决方案

Android控件:自定义View学习资源集锦

热度:57   发布时间:2016-04-27 22:18:28.0
Android控件:自定义View学习资源汇总

最近在学习自定义View,按照自己的理解简单罗列下一些学习资源,循序渐进。


准备篇

自定义View必须学习的两大主题,分别时View/ViewGroup的绘制流程,以及View/ViewGroup的事件分发流程。

1、绘制流程
Android视图绘制流程完全解析,带你一步步深入了解View(二)
Android View系统解析(下)
Android:View绘制流程

2、事件分发
Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
Android事件分发机制完全解析,带你从源码的角度彻底理解(下)

3、学习动画能有更好的效果
Android:动画系统


自定义View

导读:了解自定义View的几种常见形式
Android自定义View的实现方法,带你一步步深入了解View(四)

自定义View的思想是:

  1. 重写onMeasure()方法,计算wrap_content的值,否则wrap_content默认是match_parent。
  2. 重写onDraw()方法,完成自定义绘制效果。
  3. 还要考虑padding的影响,作为上诉两点的基础。

Android 自定义View (一)
Android 自定义View (二) 进阶
Android 自定义View (三) 圆环交替 等待效果
Android 自定义View (四) 视频音量调控

自定义ViewGroup的思想是:

  1. 重写onMeasure()方法,计算wrap_content的值,否则wrap_content默认是match_parent。View是考虑具体绘制内容的大小,ViewGroup则是先
    测量出所有孩子的大小,然后再计算整个布局的大小。
  2. 重写onLayout()方法,完成自定义布局效果。
  3. 还要考虑布局本身padding和子View的margin的影响,作为上诉两点的基础。

Android 手把手教您自定义ViewGroup(一)
Android 自定义ViewGroup手把手教你实现ArcMenu
Android 自定义ViewGroup 实战篇 -> 实现FlowLayout


滑动主题

导读
Android View系统解析(上)

滑动主题主要涉及滑动过程中的处理,所以必须先明白View/ViewGroup的事件分发机制,然后根据不同的Action来作相应滑动处理。还有几个常见的辅助工具类:Scroller和GestureDetector。下面的例子有点多,可以挑几个实战,另外的只需阅读,明白大致思路即可。

Android 自定义控件打造史上最简单的侧滑菜单
Android 高仿 QQ5.0 侧滑菜单效果 自定义控件来袭
Android 实现形态各异的双向侧滑菜单 自定义控件来袭
Android自定义View的实现方法,带你一步步深入了解View(四)【第三例】
ListView滑动删除 ,仿腾讯QQ
Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现


继承View:

继承原有控件

利用其本有属性,但完全重绘:
Android 打造形形色色的进度条 实现可以如此简单
部分重绘:
Android 教你打造炫酷的ViewPagerIndicator 不仅仅是高仿MIUI
增加绘制内容/功能:
Android自定义View的实现方法,带你一步步深入了解View(四)【第三例】
ListView滑动删除 ,仿腾讯QQ


组合View

组合多个控件来使用

Android自定义View的实现方法,带你一步步深入了解View(四)【第二例】
Android 教你打造炫酷的ViewPagerIndicator 不仅仅是高仿MIUI


以上资源基本来源于三个博客:

  • 郭霖的专栏,理论描述非常清晰
  • Hongyang,实战Demo大多来自鸿洋
  • 任玉刚,理论补充

版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案