上班的第一天没什么活儿,就看了看这个控件的源码来验证一下联想搜索列表的实现方法是否是自己所想的那样,看完了才发现果然如此!第一天上班就不详细的写了,在这里简单的写一下联想搜索下拉菜单的实现原理。细节方面以后再另写博文补上。
首先我们要知道一个事实:联想搜索列表是一个悬浮框,我之前的博文也有提过既然是悬浮框肯定少不了WindowManager这个东东的身影(详见《WindowManager杂谈》),这是看到悬浮框的等类似功能界面的时候我们应该首先能想到的!!!在android开发过程中常见的WindowManager就是Dialog(AlertDialog)(详见《AlertDialog创建过程详解》或者PopupWindow了(详见《PopupWindow简单说明》)。
在详细说明之前写把AutoCompleteTextView的既定事实列出来:
1)联想搜索提示列表这个悬浮框是通过PopupWindow实现的
2)PopupWindow可以通过setContentView来说实现用户自定义的界面,所以根据AutoCompleteTextView的运行效果不难猜出 PopupWindow里面是一个ListView
3)根据1)和2)的说明