ViewGroup.MarginLayoutParams
android:layout_marginBottom
android:layout_marginLeft
android:layout_marginRight
android:layout_marginTop
=====================================
ViewGroup.LayoutParams
android:layout_height
android:layout_width
=====================================
FrameLayout.LayoutParams
[ViewGroup.MarginLayoutParams]
[ViewGroup.LayoutParams]
=====================================
AbsoluteLayout.LayoutParams
[ViewGroup.LayoutParams]
layout_x
layout_y
=====================================
LinearLayout.LayoutParams
[ViewGroup.MarginLayoutParams]
[ViewGroup.LayoutParams]
android:layout_gravity
android:layout_weight
=====================================
RelativeLayout.LayoutParams
[android.view.ViewGroup.MarginLayoutParams]
[android.view.ViewGroup.LayoutParams]
android:layout_above
android:layout_alignBaseline
android:layout_alignBottom
android:layout_alignLeft
android:layout_alignParentBottom
android:layout_alignParentLeft
android:layout_alignParentRight
android:layout_alignParentTop
android:layout_alignRight
android:layout_alignTop
android:layout_alignWithParentIfMissing
android:layout_below
android:layout_centerHorizontal
android:layout_centerInParent
android:layout_centerVertical
android:layout_toLeftOf
android:layout_toRightOf
以上,[...]表示继承关系
以上,罗列了各布局下的可用参数。
控件的布局不同,体现在xml文件中,其可用的参数(param)也有差异,且其子控件(写在该布局下的控件)。
比如,同样是TextView,当布局为LinearLayout时,它的可用的layout参数有9种,而布局为AbsoluteLayout时,它的可用的layout参数只有4种。(当然不同版本的sdk可能会有所差异)。
甚至LinearLayout和AbsoluteLayout内幕就没有相同的layout属性。
他们之间的比较可以查看附件里的图片,相信大家都会一目了然。
布局应用中控件里几乎无处不在,了解什么情况下用什么布局及布局属性,还是很有必要的。
所以,如果在布局不同的情况下,直接进行复制子控件操作很有可能出问题。