Dialog不能全屏查看源码的错误总结。

来源:互联网 发布:数学在线解题软件 编辑:程序博客网 时间:2024/05/01 22:53

看代码一定要细心。

上午看了很长时间研究源码,后来发现其实走了很大弯路,浪费了不少时间,特此记录下来,警示一下。

错误1:代码只是用到了Dialog的对象来创建对话框,而我却去看AlertDialog类的源码<大的错误>。完全搞不懂状况,就去做事情。

错误2:即使去看了AlertDialog的源码,也应该发现其构造函数protected。一点没反应过来,完全不能在外部使用构造函数创建对象,还在分析构造函数。<重大错误>。

因为这两个错误,导致一个上午都在纠结Alertdialog的构造函数是怎样执行的,却忘了这两个问题从一开始就是错的。


最后说一点,创建Dialog或者AlertDialog如果不先指定Theme,创建时系统会使用默认theme,默认theme是非全屏的,(确切的说是这个默认theme使用了一种.9.png背景图片,这个背景图片会有一个边缘空白,导致非全屏,所以想全屏需要重写这个背景属性)而theme是窗体主题,布局是位于窗体主题上的,我的理解是Theme是优先于Layout的,所以无论怎样设置layout都会导致Dialog总是占不满屏幕。


0 0
原创粉丝点击