您的位置:首页 > 移动开发 > Android开发

android布局之重心Gravity

2016-04-21 14:16 274 查看
重心Gravity的属性主要有两类:一个是android:gravity,另一个是android:layout_gravity。它们在使用上区别如下:

android:gravity:

一般用在布局中,设置的是控件自身里面的内容位置。

   1.当需要设置多个gravity属性时,可以用符号”|”隔开。比如:

       android:gravity="center_vertical|center_horizontal" 等价于android:gravity="center"

   2.gravity属性的设置是否生效也跟orientation属性有关,比如:当 android:orientation="vertical"  时, 只有水平方向的设置才起 作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。当 android:orientation="horizontal"
时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。

android:layout_gravity:

一般用于普通控件中,设置的是控件自身在父控件中的位置。

1.    当我们的layout中设置了gravity后,此layout下的控件会依据此gravity属性调整自身位置。但是当layout中的控件设置了layout_gravity,那么即便是冲突也会依据layout_gravity属性值调整自身。

2.    layout_gravity属性的设置如gravity一般,是否生效也跟orientation属性有关


gravity与layout_gravity基本属性一样,主要属性值如下:


top     将对象放在其容器的顶部,不改变其大小.

bottom     将对象放在其容器的底部,不改变其大小.

left     将对象放在其容器的左侧,不改变其大小.

right     将对象放在其容器的右侧,不改变其大小.

center_vertical     

将对象纵向居中,不改变其大小.垂直对齐方式:垂直方向上居中对齐。

fill_vertical     

必要的时候增加对象的纵向大小,以完全充满其容器.垂直方向填充

center_horizontal     

将对象横向居中,不改变其大小.水平对齐方式:水平方向上居中对齐

fill_horizontal     

必要的时候增加对象的横向大小,以完全充满其容器.

center     

将对象横纵居中,不改变其大小.

fill     

必要的时候增加对象的横纵向大小,以完全充满其容器.

clip_vertical     

附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容.

剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;

除此之外剪切顶部和底部.垂直方向裁剪

clip_horizontal    

附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容.

剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;

除此之外剪切左侧和右侧.水平方向裁剪
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: