8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
Android 控件架构
在学习Android控件之前,先了解一下Android控件架构,所谓“知其然,所以知其所以然”。
Android 中控件主要包括两类,ViewGroup控件和View控件,最终以控件树的结构存在。在每棵树顶都有一个ViewParent对象,这棵树的核心,掌管所有的交互管理事件的调度和分配。
一般情况下,在activity中使用setContentView()方法来设置布局,在调用该方法之后布局才真正的显示出来。实际上,每个Activity都包含一个Window对象,Activity的Window对象一般使用PhoneWindow来实现。PhoneWindow将一个DecorView设置为整个应用的窗口根View。DecorView将要显示的具体内容呈现在PhoneWindow上,这里面的所有view的监听事件,都通过windowManagerService来进行接受,并通过Activity对象来回掉相应onClickListener。
DecorView将屏幕分成两部分显示:TitleView和ContentView(如图)。
TitleView就是ActionBar。因此,requestWindowFeture方法一定要在setContentView()方法前调用,因为setContentView()调用之后,布局内容已经显示出来。
在代码中,Activity在onCreate()中调用setContentView()后,ActivitManagerService会调用onResume()方法,此时系统才会把整个DecorView添加到PhoneView中,并将其显示出来。