Android中gravity与layout_gravity区别

android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,默认在左侧。

android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。

拿TextView来说,android:gravity是表示TextView里面的文字在控件的位置,android:layout_gravity是相对于父元素的位置。

属性:

ValueDescription
topPut the object at the top of its container, not changing its size.
将对象放在其容器的顶部,不改变其大小.
bottomPut the object at the bottom of its container, not changing its size.
将对象放在其容器的底部,不改变其大小.
leftPut the object at the left edge of its container, not changing its size.
将对象放在其容器的左侧,不改变其大小.
rightPut the object at the right edge of its container, not changing its size.
将对象放在其容器的右侧,不改变其大小.
center_verticalPlace object in the vertical center of its container, not changing its size.
将对象纵向居中,不改变其大小.
垂直对齐方式:垂直方向上居中对齐。
fill_verticalGrow the vertical size of the object if needed so it completely fills its container.
必要的时候增加对象的纵向大小,以完全充满其容器.
垂直方向填充
center_horizontalPlace object in the horizontal center of its container, not changing its size.
将对象横向居中,不改变其大小.
水平对齐方式:水平方向上居中对齐
fill_horizontalGrow the horizontal size of the object if needed so it completely fills its container.
必要的时候增加对象的横向大小,以完全充满其容器.
水平方向填充
centerPlace the object in the center of its container in both the vertical and horizontal axis, not changing its size.
将对象横纵居中,不改变其大小.
fillGrow the horizontal and vertical size of the object if needed so it completely fills its container. This is the default.
必要的时候增加对象的横纵向大小,以完全充满其容器.
clip_verticalAdditional option that can be set to have the top and/or bottom edges of the child clipped to its container's bounds. The clip is based on the vertical gravity: a top gravity clips the bottom edge, a bottom gravity clips the top edge, and neither clips both edges.

附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部.

垂直方向裁剪

clip_horizontalAdditional option that can be set to have the left and/or right edges of the child clipped to its container's bounds. The clip is based on the horizontal gravity: a left gravity clips the right edge, a right gravity clips the left edge, and neither clips both edges.

附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧.

水平方向裁剪

简单记忆 : horizontal 都是操作的水平方向,即横向, vertical 都是操作的垂直方向,即纵向。


对于 LinearLayout

当 android:orientation="vertical"  时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。

当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: gravity是设置布局内部子元素的对齐方式,而layout_gravity是设置当前View在父布局的对齐方式。具体来说,gravity可以设置子元素在水平和垂直方向上的对齐方式,而layout_gravity则可以设置当前View在父布局的位置,例如上下左右居等。 ### 回答2: 在AndroidgravitylayoutGravity都是布局属性,用于设置视图或布局的对齐方式。不过它们有一些细微的区别。 首先,gravity是视图对象的属性,用于设置其内容的对齐方式。可以通过代码或者在xml布局文件使用android:gravity属性进行设置。例如,当一个TextView设置了gravity为center时,该TextView的文本内容将在垂直和水平方向上都居显示。 而layoutGravity是布局容器的属性,用于设置其子视图的对齐方式。只能通过在父容器的xml布局文件使用android:layout_gravity属性进行设置。例如,当一个LinearLayout设置了layout_gravity为center时,其的子视图将在垂直和水平方向上都以居的方式进行对齐。 总的来说,gravity主要用于设置视图本身的内容对齐方式,而layoutGravity主要用于设置子视图在父容器的对齐方式。 此外,还需要注意的是,gravitylayoutGravity对于不同的布局容器可能有不同的效果。比如在LinearLayoutgravity属性会使得整个布局都按照设置的对齐方式进行对齐,而layout_gravity属性只会对该子视图进行对齐。 ### 回答3: gravitylayoutGravity区别在于它们所属的对象不同。 在Androidgravity是一个View的属性,用来指定View的内容在它的边界内的对齐方式。它可以设置为左对齐、右对齐、居、顶部对齐、底部对齐等。gravity属性对应的值有left、right、center、top、bottom等。 而layoutGravity是一个父容器(如LinearLayout)的属性,用来指定它的子View在父容器内的对齐方式。它的作用是控制子View在父容器内的位置,而不是控制子View内部的内容对其方式。layoutGravity属性对应的值有top、bottom、left、right、center等。 在XML布局gravity属性是用来控制View内部的内容对齐方式,而layout_gravity属性是用来控制View在父容器内的位置。例如,在一个LinearLayout容器内,使用layout_gravity属性可以将子View设置为居或者靠右对齐等。而在子View内部使用gravity属性可以实现文本居、图标居等效果。 总结来说,gravity用于控制View内部内容的对齐方式,而layoutGravity用于控制子View在父容器内的位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值