android.view.Window

就算是初学Android的都碰到过这样的语句:

Window window = Activity.getWindow();

window.requestFeature(Window.FEATURE_NO_TITLE);

今天又碰到一个Window的一个新的静态常量属性

window.requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

官网上对该常量给出的解释是:Flag for requesting that window content changes should be animated using a TransitionManager.

翻译一下即:用于请求该窗口内容更改的标志,应使用TransitionManager进行动画处理。

==========================================================================

在查上面的内容的过程中,又涉及到了Activity、View、Window之间的三角关系,找了一篇文章,写的很详细,没咋看懂,链接在此

收获了几个点:

1、有View即视图地方就一定有Window,视图是无法脱离Window这个抽象的东西独立存在的。

2、Android中可以提供视图的地方有Activity,DIalog,Toast,除此之外,还有一些依托Window而实现的视图,比如PopupWindow,Menu,他们也是视图,有视图的地方就有Window,因此Activity,Dialog,Toast等视图都对应着一个Window。

3、DecorView作为顶级View,一般情况下它内部会包含一个竖直方向的LinearLayout,在这个LinearLayout里面有上下两个部分,上面是标题栏,下面是内容栏,其中标题栏一般由Activity的Theme样式所决定。在Activity中我们通过setContentView所设置的布局文件其实就是被加到内容栏之中的。

4、一个比喻总结下Activity Window View三只之间的关系:Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容