layout_weight layout_gravity gravity

layout_weight

表示布局的权重,0或者1。比如消息框对应的EditText控件的默认布局权重是0,设定的布局高度(layout height)是fill_parent,而且它在发送按钮之前先一步申请空间,这样发送按钮就被挤出屏幕之外而无法显示了。为了让发送按钮显示出来,我们可以把消息框的布局权重设为1,这样它依然会在高度上占据尽可能多的空间,不过如果还有其它控件,就会为它们让出合适的空间,使之可以显示。

layout_gravity

指明这一控件在布局中所在的水平位置或垂直位置,可选的值为top、center、left等。若把某控件的宽度设为fill_parent,再给它一个center的水平位置显然是没有意义的。不过把控件的宽度设为wrap_content,再给它一个center的layout_gravity就令它居中。需要注意的是这个属性与下面gravity的区别。

gravity

指定控件的内容在这个控件中的位置。人们很容易将它与layout_gravity相混淆,实际上它们的应用场景不同。比如,我们作为标题的TextView的宽度设为fill_parent,那么设置它的layout_gravity就没有用处,不过将其gravity设为center可以让它的文字居中。

posted @ 2016-04-06 13:36  沉默的羊癫疯  阅读(166)  评论(0编辑  收藏  举报