zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    Trades FZU
    H
    Coconuts HDU
    初始化Linux数据盘、磁盘分区、挂载磁盘(fdisk)
    虚拟机硬盘vmdk压缩瘦身并挂载到VirtualBox
    docker创建tomcat容器无法正常访问
    centos7一步一步搭建docker tomcat 及重点讲解
    docker配置国内阿里云镜像源
    代理模式(2):动态代理
    代理模式(1):静态代理
  • 原文地址:https://www.cnblogs.com/chengzhengfu/p/4578900.html
Copyright © 2011-2022 走看看