zoukankan      html  css  js  c++  java
  • 动态载入Layout 与 论Activity、 Window、View的关系

    1)动态载入Layout的代码是

    getWindow().setContentView(LayoutInflater.from(this).inflate(R.layout.main, null));

    它等同于

    setContentView(R.layout.main);

    事实上

    getWindow().setContentView(LayoutInflater.from(this).inflate(R.layout.main, null))  是 setContentView(R.layout.main)

    的底层实现


    2)论Activity、 Window、View的关系

    类似于MVC模式,Activity为控制器。Window为模型,View为真正的视图。

    a。一个Activity 构造的时候一定会构造一个Window(PhoneWindow)。而且仅仅有一个

    b,这个Window有一个ViewRoot(View /  ViewGroup)

    c,ViewRoot通过addView方法来加入View,如TextView,Button

    d,这些View的事件监听,是由WindowManagerService来接收信息。而且回调Activity函数,

    比方onClickListener。onKeyDown等。

  • 相关阅读:
    c#将 1, 2, ..., 9共 9 个数字分成 3 组
    信息学院本科生创新项目总结
    Element-ui的使用
    fastmock接口管理
    mock安装与使用
    开闭原则
    里氏替换原则
    依赖倒置原则
    接口隔离原则
    单一职责原则
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5303027.html
Copyright © 2011-2022 走看看