gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。
android:layout_gravity 和 android:gravity 的区别
从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。
android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。
比如说button: android:layout_gravity 表示按钮在界面上的位置。 android:gravity表示button上的字在button上的位置。
这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。
而且这些属性是可以多选的,用“|”分开。
默认这个的值是:Gravity.LEFT
对这些属性的描述:
http://androidmirror.com/guide/topics/resources/drawable-resource.html
http://android.toolib.net/reference/android/graphics/drawable/ClipDrawable.html
Value
|
Description
|
top
|
Put the object at the top of its container, not changing its size.
将对象放在其容器的顶部,不改变其大小.
|
bottom
|
Put the object at the bottom of its container, not changing its size.
将对象放在其容器的底部,不改变其大小.
|
left
|
Put the object at the left edge of its container, not changing its size.
将对象放在其容器的左侧,不改变其大小.
|
right
|
Put the object at the right edge of its container, not changing its size.
将对象放在其容器的右侧,不改变其大小.
|
center_vertical
|
Place object in the vertical center of its container, not changing its size.
将对象纵向居中,不改变其大小.
垂直对齐方式:垂直方向上居中对齐。
|
fill_vertical
|
Grow the vertical size of the object if needed so it completely fills its container.
必要的时候增加对象的纵向大小,以完全充满其容器.
垂直方向填充
|
center_horizontal
|
Place object in the horizontal center of its container, not changing its size.
将对象横向居中,不改变其大小.
水平对齐方式:水平方向上居中对齐
|
fill_horizontal
|
Grow the horizontal size of the object if needed so it completely fills its container.
必要的时候增加对象的横向大小,以完全充满其容器.
水平方向填充
|
center
|
Place the object in the center of its container in both the vertical and horizontal axis, not changing its size.
将对象横纵居中,不改变其大小.
|
fill
|
Grow the horizontal and vertical size of the object if needed so it completely fills its container. This is the default.
必要的时候增加对象的横纵向大小,以完全充满其容器.
|
clip_vertical
|
Additional 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_horizontal
|
Additional 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何时生效的问题
参看:也谈layout_gravity和gravity
http://www.lephone.net/viewthread.php?tid=325
对于 LinearLayout
当 android:orientation="vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
http://blog.joycode.com/ghj/archives/2011/04/26/116174.joy
<br />gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。<br />android:layout_gravity 和 android:gravity 的区别<br />从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。<br />android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。<br />比如说button: android:layout_gr
一、 前言
在写布局界面时,发现
gravity
与
layout_gravity
属性,有时起作用,有时不起作用,虽然知道它俩的大概区别,但是具体在什么情况下使用,就有些模糊不清了,又不是特别难的东西,只是缺乏归类整理。目前知道它俩的区别是,
gravity
属性是用来设置控件中的内容的位置,
layout_gravity
属性是用来设置当前子控件在父控件中的位置。
二、可以设置的
值
属性
gravity
...
android:
gravity
意思是这个控件自己的“重力”,在通俗点就是控件上面的东西的位置(图片,文本等)
举个例子:一个TextView里面的文本默认居左作对齐的,你想让这些文本居中的话,只要在这个TextView的属性里加上android:
gravity
="center"
所有的参数分别是center(居中),bottom(下),top(上),right(右),left(左)
其他...
今天,简单讲讲android LinearLayout中如何使用set
Gravity
()。
之前,在做一个功能时,需要根据数据的变化设置LinearLayout的
gravity
。之前,自己写代码都是直接在xml文件里通过roid:
gravity
设置的属性,这次需要在java代码里动态设置时,居然不知道怎么设置。后来,在网上搜索了资料后,发现set
Gravity
()就可以设置,这里记录一下。
在进行UI布局的时候,可能经常会用到android:
gravity
和android:layout_Gra...
在Android的布局中,除了padding和margin容易弄混之外,还有
layout_gravity
和
gravity
。按照字面意思来说,
layout_gravity
就是相对于layout来设置的。通俗点讲就是当前控件之外的位置。
而
gravity
就是控件内部的位置。具体来看一下Demo。
<?xml version="1.0" encoding="utf-8"?><Lin...
1、android:
layout_gravity
是设置该控件相对于父容器对齐方式;
2、android:
gravity
是设置子元素在该容器内的对齐方式。(若其下没有子元素,此项无效;若父子产生冲突,以子元素为准。)
3、
layout_gravity
和
gravity
可以设置的
值
:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。
1.问题产生 在AndroidStudio中,在布局文件中使用android:
gravity
属性设置属性
值
为left或right时,会有
对应
的警告提示,提示内容如下:Use "start" instead of "left" to ensure correct behavior in right-to-left locales less... (Ctrl+F1)
Using
Gravity
#LE
1.首先来看看Android:
layout_gravity
和android:
gravity
的使用区别。
1)android:
gravity
:
这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,
android:
gravity
="left"和android:text="提交",这时Button上的文字“提交”将会位于Butt...
`
layout_gravity
` 和 `
gravity
` 是在 Android 中用于布局的属性,它们有一些区别。
`
layout_gravity
` 是用于设置一个 View 在其父容器中的对齐方式。它只能用于父容器为 `FrameLayout` 或 `LinearLayout` 时,并且只对直接子 View 生效。通过设置 `
layout_gravity
`,可以控制 View 在父容器中的水平和垂直方向上的对齐方式。
`
gravity
` 是用于设置一个 View 内部内容的对齐方式。它可以应用于任何继承自 `ViewGroup` 的容器,例如 `LinearLayout`、`RelativeLayout`、`ConstraintLayout` 等。通过设置 `
gravity
`,可以控制 View 内部内容在其自身内部的水平和垂直方向上的对齐方式。
总结一下区别:
- `
layout_gravity
` 用于控制 View 在父容器中的对齐方式。
- `
gravity
` 用于控制 View 内部内容的对齐方式。
需要注意的是,这两个属性只对继承自 `ViewGroup` 的容器有效,对于单个的 `View` 是无效的。