在应用中有时候需要通过某些点击效果动态地添加布局,而不是直接加载完整的xml布局文件,这时就可以在代码中实现。
首先,如果对子布局的位置有要求时,可以在主布局中你希望放置的地方设置一个“标记”,记得设置id:
<LinearLayout //用来装子布局
android:id="@+id/box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
private LinearLayout mLinearLayout;//对应于主布局中用来添加子布局的View
private View mGridView;// 子Layout要以view的形式加入到主Layout
mGridView = View.inflate(this,R.layout.gridview_layout,null);
mLinearLayout = (LinearLayout)findViewById(R.id.box);最后一步:
mLinearLayout.addView(mGridView);通过addview()就能把子布局添加到主布局里的box中了。另外,addview不仅能添加一个已经定义好的xml文件,也能直接创建添加控件或者布局,控制位置和样式的时候,布局和控件使用的方法是一样的。
本文介绍了一种在Android应用中不直接加载XML布局文件而是在代码中动态添加子布局的方法。通过设置标记视图并利用LayoutInflater将自定义布局文件转换为View对象,最终通过addView()方法将其添加到主布局中。

被折叠的 条评论
为什么被折叠?



