android控件 - l-feng/l-feng.github.io GitHub Wiki

1:控件架构 在android中,控件被分为两类,ViewGroup 和View控件 viewGroup作为父控件包含多个控件,并管理包含的view控件 android中,windows对象通常是由PhoneWindow来实现的,我们通常将第一个decorView作为整个窗口的根View,它包含着我们常用的方法。 我们所有的监听事件是由WMS来进行接收的。并通过activity对象回调相应的OnclickListener。在显示上面,view通常是由title和contentview 来实现的。contentView是我们熟悉的一个布局,它的本质是一个id为content的FrameLayout布局。而我们的avtivity_main.xml 就是设置在这样的一个FrameLayout里面的。

用户通过设置requestWindowFrame(Window.FEATURE_NO_TITLE)来设置显示全屏的话,视图中就只剩下Content了。这就是我们为什么要在使用setContentView()方法之前调用requestWindowFrame(Window.FEATURE_NO_TITLE)方法。 在代码中,当程序调用onCreate()方法中调用setContentView()方法之后,AMS会回调onResume()方法,此时我们的系统才会把整个DecorView方法添加到PhoneWindow中,并让其显示出来。这就是我们界面绘制的流程