首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android之界面组件跟窗口

2013-12-21 
Android之界面组件和窗口界面组件和窗口界面组件都有一个Window对象,每个Window对象负责构造和管理一棵控

Android之界面组件和窗口

界面组件和窗口

界面组件都有一个Window对象,每个Window对象负责构造和管理一棵控件树,为控件树构造对应的ViewRoot建立与窗口管理的双向通信。

?

??? Window是一个抽象类,手机上是PhoneWindow类,其定义的控件树结构中根控件是DecorView,派生自FrameLayout,通过Window.getDecorView得到。

??? PhoneWindow定义交互界面,主要由标题区域和内容区域组成,标题区域通常由标题文字、进度条、组件图标组成。通过Activity.setTitle改变标题内容;内容区域通过Activity.setContentView设定。

??? 通过Window.requestWindowFeature设定窗口参数,改变界面的基本形态。自定义窗口布局通过Window.setFeatureInt实现。

??? PhoneWindow的辅助交互区域是选择菜单区域Option Menu。大多数情况下不可见,当用户点击菜单键或调用Activity.openOptionsMenu函数,菜单才会构造并显示。当用户再次单击菜单键或Activity.closeOptionsMenu函数时,菜单隐藏并关闭。

?

??? 在Android中,动态构造控件是一个耗时过程,反复对可选菜单进程构造和销毁,会降低界面的反应速度。为此Android建立了可选菜单的缓存策略。可选菜单第一次展示之前,界面组件的Activity.onCreateOptionsMenu会被调用。可选菜单一旦被构造,在整个组件生命周期内不会被销毁,用户再次使用可选菜单时,不再调用

?

Activity.onCreateOptionsMenu进行构造。而是直接从缓存中读取可选菜单。如果需要可选菜单动态变更,需要重载Activity. onPrepareOptionsMenu。

热点排行