ANDROID 学习笔记

来源:互联网 发布:fm2016经典球员数据库 编辑:程序博客网 时间:2024/05/16 00:48

1、在xml视图文件中设置好布局后,在代码中inflate出来通过addView到其他布局中,当父级布局与子布局不一样时,发现在视图中设置的布局(如,margin、width等)都没有生效。

原因是:android的布局是根据父级组件来得LayoutParams定义的,如下代码

// 当执行如下代码,会发现child视图文件中定义的布局属性没有生效// child:RelativeLayout// parent:LinearLayoutView child = View.inflate(mCtx,R.layout.child, null);parent.addView(child);// 需要在代码中通过父级组件的LayoutParams设置child的布局属性,如下上面代码改成View child = View.inflate(mCtx,R.layout.child, null);// 父级组件的LayoutParamsLinearLayout.LayoutParams params = new LinearLayout.LayoutParams(200, LinearLayout.LayoutParams.WRAP_CONTENT);params.setMargins(20, 20, 20, 0);child.setParams(params);parent.addView(child);// 这样才能设置子视图的layout布局

原创粉丝点击