您当前的位置: 首页 > 
  • 4浏览

    0关注

    417博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

06.输入系统:第10课第15节_输入系统_补充知识_activity_window_decor_view关系_理论

江南才尽,年少无知! 发布时间:2019-03-14 09:47:46 ,浏览量:4

在继续讲解输入系统之前,我们先补充一个知识点,即activity,window,decor,view。下面用一个教室的例子,来形象的讲解他们的关系: 假设一个教室有多个活动房,如唱歌,跳舞,篮球等。每个活动房都有一个窗口,通过窗口可以观察里面的活动,一个application有一个或者activity(活动),如在手机联系人这个APP: 在这里插入图片描述 他有四个功能:拨号,通话记录,联系人,我的最爱这四个功能,每个功能就对应一个activity(一组相对独立的功能),每个activity都有一个独立界面显示在窗口上,及每个activity都有一个对应的window,我们可以通过这个window观察或者使用activity。

再次回到我们的现实例子,假如有个新房间,我们应该如何去装修他的窗口: 1.选择玻璃样式,如:整块的或者分隔的(decor:装饰) 2.在指定区域,只有创作(如划出一块区域用来贴窗花)

那么我们怎么给activity编写window呢?还是同理, 1.先选择样式(decor:装饰):全屏,有无标题栏等等 2.在decor的指定区域自由创作(开发人员),如放置各种View,Button,FextView,CherBox等。

总的来说可以理解为: 一个教室有多个活动房,每个活动房有一个窗口,在装修窗口时,先选样式,然后在指定区域贴窗花。 一个appliction有多个activity,每个activity有多个window,选定样式decor,然后在指定区域放置各种View。

下面是一个标记的图示: 在这里插入图片描述 中图示我们可以看到,一个window分成了状态栏,标题栏,自由创作区域。导航栏。注意: 1.其中的状态栏//导航栏是SystemVI进程描画的。 2.activity只是预留出状态栏/导航栏的位置 3.activity中的view是树状(分支)结构,在decor的指定区域放置各种view。

对于树状结构下面举一个例子。

- [ ] List item 在一Window的只有区域,我们放置两个FrameLayout(为View派生的子类),然后我们FrameLayout1中再放置TextView,FrameLayout2放置butoon与CheckBox,这样这个窗口有两个孩子分别为FrameLayout1,FrameLayout2,然而FrameLayout1有一个孩子TextView,FrameLayout1=2有两个孩子butoon与CheckBox。

这样就形成了树状结构,下一小节我们会做实验,把这些树状结构打印出来。

关注
打赏
1592542134
查看更多评论
立即登录/注册

微信扫码登录

0.0365s