LayoutInflater
Layout 与 Inflater[扩充]两个单词的合并,可以理解为:当前Activity 布局的扩充.
静态View:
事先在当前Activity setContentView(R.layout.main) 这个xml中配置好的View.
可以通过findViewById方法获取并使用.
动态View:
1.通过Code create new View() 灵活性太强,太多参数需要设置,我们伤不起.
2.通过引入layout下的其他xml包含到本Activity的layout内.Android提供了LayoutInflater类,根据名字就明白其用意,很好很强大.
取得LayoutInflater三种方法:
layoutInflater = getLayoutInflater();
layoutInflater = LayoutInflater.from(this);
layoutInflater = (LayoutInflater)getSystemServic(LAYOUT_INFLATER_SERVICE);
layoutInflater 的 inflate 方法,很多人很费解.
public View inflate(int resource, ViewGroup root)
当root 为null时候,把resource当做root View返回.
当root不为null时候,首先把resource加入到root当中,并且返回root.
代码如下:通过两个按钮把不是非主xml的view加入到当前的layout中来.
效果截图:
代码下载地址: