概述
不久前接触到Material Dialogs这个第三方库,感觉用起来很方便,恰巧刚刚研究了View的整个绘制及工作原理,所以就产生了从源码角度了解一下这个库是如何实现的,进而增加对自定义View的认识。
要想了解一个第三方库,首先要弄清楚它是什么,即它的表现形式是怎样的?顾名思义,Material Dialogs是一个对话框,一个符合material思想的定制版的对话框。根据我的理解,该库的核心内容分为以下几种表现形式:
- Base dialog
- List dialog
- Progress dialog
- customView dialog
- input dialog
Base dialog
Base dialog是最基础的表现形式,界面如下图所示,分为上(title)、中(content)、下(action button)三部分,所有内容全部自定义,title和action button两部分可以按需显示,action button 有三个,分别是positive、neutral、negative。
List dialog
List dialog是以列表的形式表现的对话框,主体内容和Base dialog相同,不同之处在于其将中间content内容换成了列表;List dialog分为三种类型,分别为:
- BaseListDialog
- SingleChoiceD