• Android之setContentView和LayoutInflater


    setContentView:

    1.常用的构造函数:

      1)setContentView(int layoutResID)

    2)setContentView(View view)

    3)setContentView(View view, ViewGroup.LayoutParams params)

    2.用法

    1)setContentView(R.layout.main);

    2)LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View view = (View) inflater.inflate(R.layout.apploader, null, true);

    setContentView(view);

    3.两种用法的适用场景:

        setContentView()一旦调用, layout就会立刻显示UI;而inflate只会把Layout形成一个以view类实现成的对象,有需要时再用setContentView(view)显示出来。

        一般在activity中通过setContentView()将界面显示出来,但是如果要在非activity中如何对控件布局进行设置操作,就需LayoutInflater动态加载。

    LayoutInflater:

    获得 LayoutInflater 实例的三种方式

    1. LayoutInflater inflater = getLayoutInflater();  //调用Activity的getLayoutInflater()

    2. LayoutInflater localinflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    3. LayoutInflater inflater = LayoutInflater.from(context);

    其实,这三种方式本质是相同的,从源码中可以得出结论:这三种方式最终本质是都是调用的Context.getSystemService()

     --------------------------------------------------------------------

    PS: 欢迎关注公众号"Devin说",会不定期更新Java相关技术知识。

    --------------------------------------------------------------------

     

  • 相关阅读:
    jumpserver部署0.3版本 =====( ̄▽ ̄*)b
    zabbix监控服务
    jumpserver部署1.0版本
    yum安装nginx服务
    linux 最大文件打开数
    编译安装nginx
    ubuntu14.04安装mysql5.6.37
    Linux 报错:syntax error "C" 解决办法(此处选择bash系统)
    在配色这件事情上,总会有一些有趣且有用的小技巧
    黑历史!粉红色背后的文化现象和心理博弈
  • 原文地址:https://www.cnblogs.com/devinzhang/p/2308812.html
Copyright © 2020-2023  润新知