Android的Layout及其Param

来源:互联网 发布:bt磁力搜索网站 知乎 编辑:程序博客网 时间:2024/05/16 01:39
2009-08-22

Android的Layout及其Param

 

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属性。

 

他们之间的比较可以查看附件里的图片,相信大家都会一目了然。

 

布局应用中控件里几乎无处不在,了解什么情况下用什么布局及布局属性,还是很有必要的。

所以,如果在布局不同的情况下,直接进行复制子控件操作很有可能出问题。

原创粉丝点击