我一直在搜索视图源代码中挖掘很长一段时间,现在试图了解搜索视图究竟是如何具有要呈现的用户界面的。首先,这里是源代码:
所以我不理解的是,当搜索视图甚至没有任何onDraw()
方法时,搜索视图的用户界面元素甚至会被呈现。我所能看到的只是负责显示元素是一堆开始时在构造函数中的视图,SearchView
获取引用并更改背景并设置这些视图的图像。如果我能看到的所有内容都是获取对某些视图的引用并更改背景以及图像而不将其置于适当的视图层次结构中,那么它究竟是如何呈现的呢?
我明白你可能想知道为什么我甚至需要理解这一点。好吧,我想了解这一点,以便我可以创建自己的自定义搜索视图。因为我只需要在我的搜索视图上使用2个函数,所以我认为制作一个适合我需要的功能要好一些,而不是源代码中的数千行代码。另外,我想创建一个我知道如何使用而不是复杂的默认值。