一些老用xml写布局代码,随着布局的深度制定,以及一些动态性。用代码写布局也是一种必要的手段。比如配置文件制定个数字就能自动生成布局,或者读取数据库生成布局这种。
以前都是一些问题,一直到我碰到一种N种不同的布局嵌套 需要用代码设置ViewGroup.LayoutParams时,发现总是没效果,后面上网查资料加自己看源码在想了N久。发现原来用
ViewGroup.addView(View child, LayoutParams params)可以解决,我以前一直都是ViewGroup.addView(View child);因为在child里面setLayoutParams()但如果你前面用的FrameLayout后面用LinearLayout的话这种永远是出不来布局效果的。
还有一个问题就是在1.6sdk中 如果ViewGroup中添加一个空的ViewGroup是会出一个BaselineAligned的异常,解决办法就是添加一个空的控件,比如textView的 文本为空就行了。这里要特别注意,2.X上的版本是没有这个问题的,等你写出来后,发现1.6版有问题的话,在查查代码 很有可能是这里的原因。