android LayoutInflater类的理解及用法

xiaoxiao2021-02-28  49

1. LayoutInflater.inflate()的作用就是将一个用xml定义的布局文件查找出来

注意与findViewById()的区别,inflate是加载一个布局文件,而findViewById则是从布局文件中查找一个控件。

2.获取LayoutInflater对象有三种方法 LayoutInflater inflater=LayoutInflater.from(this); LayoutInflater inflater=getLayoutInflater(); LayoutInflater inflater=(LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE); 这三种方法用的场合不太一样, 但效果是一样的,即实例化出来一个LayoutInflater类对象. 3.关于LayoutInflater类inflate(int resource, ViewGroup root, boolean attachToRoot)方法三个参数的含义 resource:需要加载布局文件的id,意思是需要将这个布局文件中加载到Activity中来操作。 root:需要附加到resource资源文件的根控件,什么意思呢,就是inflate()会返回一个View对象,如果第三个参数attachToRoot为true,就将这个root作为根对象返回,否则仅仅将这个root对象的LayoutParams属性附加到resource对象的根布局对象上,也就是布局文件resource的最外层的View上,比如是一个LinearLayout或者其它的Layout对象。 attachToRoot:是否将root附加到布局文件的根视图上

参考链接:

http://www.open-open.com/lib/view/open1328837587484.html

http://blog.csdn.net/lovexieyuan520/article/details/9036673

http://www.eoeandroid.com/thread-272744-1-1.html

(以下内容如果不感兴趣,可以跳过...)

另外说一下, 设置gridview高度的问题, 即这个问题: http://www.eoeandroid.com/thread-272744-1-1.html

如果用的方法 inflate(xml, null) 出来的布局, 则需要手动设置高度等一些参数.

如果用的方法 inflate(xml, parentView, false)出来的布局, 则可以直接在 xml文件中写上高度及宽度.

转载请注明原文地址: https://www.6miu.com/read-46790.html

最新回复(0)