zoukankan      html  css  js  c++  java
  • LayoutInflater和inflate()方法的用法 .

    LayoutInflater作用是将layoutxml布局文件实例化为View类对象。

    实现LayoutInflater的实例化共有3种方法,

    (1)通过getSystemService获得

        LayoutInflaterinflater = (LayoutInflater)context.getSystemServices(Context.LAYOUT_INFLATER_SERVICES);

        Viewview = inflater.inflate(R.layout.main, null);

    (2)从给定的context中获得

        LayoutInflaterinflater = LayoutInflater.from(context);

        Viewview = inflater.inflate(R.layout.mian, null);

    (3)getLayoutInflater()

        LayoutInflaterinflater =getLayoutInflater();Activity中可以使用,实际上是View子类下window的一个函数)

        Viewlayout = inflater.inflate(R.layout.main, null);

     其实,这三种方式本质是相同的,从源码中可以看出:

    getLayoutInflater()

    ActivitygetLayoutInflater()方法是调用PhoneWindowgetLayoutInflater()方法,看一下该源代码:

        publicPhoneWindow(Context context) {

            super(context);

            mLayoutInflater= LayoutInflater.from(context);

        }

    可以看出它其实是调用LayoutInflater.from(context)

    LayoutInflater.from(context)

        public static LayoutInflaterfrom(Context context) {

            LayoutInflaterLayoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            if(LayoutInflater== null){

                throw new AssertionError("LayoutInflater not found.");

            }

            returnLayoutInflater;

        }

    可以看出它其实调用context.getSystemService()

    总结:3个方法最终是调用content.getSystemService()

     

     

    public View inflate(int Resourece,ViewGroup root)
    作用:填充一个新的视图层次结构从指定的XML资源文件中
    reSource
    ViewlayoutID
    root
    : 生成的层次结构的根视图
    return 
    填充的层次结构的根视图。如果参数root提供了,那么root就是根视图;否则填充的XML文件的根就是根视图。

     

    其余几个重载的inflate函数类似。

     

    public View inflate(int Resourece,ViewGroup root)
    作用:填充一个新的视图层次结构从指定的XML资源文件中
    reSource
    ViewlayoutID
    root
    : 生成的层次结构的根视图
    return 
    填充的层次结构的根视图。如果参数root提供了,那么root就是根视图;否则填充的XML文件的根就是根视图。

    其余几个重载的inflate函数类似。

  • 相关阅读:
    VOA 2009/11/02 DEVELOPMENT REPORT In Kenya, a Better Life Through Mobile Money
    2009.11.26教育报道在美留学生数量创历史新高
    Java中如何实现Tree的数据结构算法
    The Python Tutorial
    VOA HEALTH REPORT Debate Over New Guidelines for Breast Cancer Screening
    VOA ECONOMICS REPORT Nearly Half of US Jobs Now Held by Women
    VOA ECONOMICS REPORT Junior Achievement Marks 90 Years of Business Education
    VOA 2009/11/07 IN THE NEWS A Second Term for Karzai; US Jobless Rate at 10.2%
    Ant入门
    Python 与系统管理
  • 原文地址:https://www.cnblogs.com/xilin/p/2611066.html
Copyright © 2011-2022 走看看