参阅:http://android.xsoftlab.net/reference/android/widget/RelativeLayout.html
public class
RelativeLayout
extends ViewGroup
Added in API level 1
java.lang.Object
↳ android.widget.RelativeLayout
已知直接子类
DialerFilter
PercentRelativeLayout
SearchBar,
TwoLineListItem
【概述】
相对布局,描述子视图与其他子视图或父视图的位置关系。
可以相对于彼此或相对于父母描述子节点的位置的布局。
请注意,您不能在RelativeLayout的大小和其子项的位置之间具有循环依赖关系。例如,您不能具有高度设置为WRAP_CONTENT的RelativeLayout和设置为ALIGN_PARENT_BOTTOM的子级。
【嵌套类】
类 RelativeLayout.LayoutParams RelativeLayout相关联的子项的布局信息。
【XML属性】
android:gravity
关联方法:setGravity(int gravity)
属性说明:设置对象如何在X轴和Y轴上在自己的边界内定位其内容。默认值left。
必须是下列常量值中的一个或多个(用”|”分隔):
top将对象推送到其容器的顶部,而不更改其大小。
bottom将对象推送到其容器的底部,而不更改其大小。
left将对象推送到其容器的左侧,而不更改其大小。
right将对象推送到其容器的右侧,而不更改其大小。
center将对象放置在其容器的垂直和水平轴的中心,而不改变其大小。
center_vertical将对象放置在其容器的垂直中心,而不改变其大小。
centet_horizontal将对象放置在其容器的水平中心,而不改变其大小。
Fill如果需要,增大对象的水平和垂直尺寸,以便它完全填充其容器。
fill_vertical如果需要,增大对象的垂直尺寸,以便它完全填充其容器。
fill_horizontal如果需要,增大对象的水平尺寸,以便它完全填充其容器。
clip_vertical附加的可选设置,它可以设置容器内子对象的上下边缘裁剪它的容器边框。裁剪会基于垂直对齐的方式:顶部对齐的会裁剪底部边缘,底部对齐的会裁剪顶部边缘,不会上下边缘都裁剪。
clip_horizontal附加的可选设置,它可以设置容器内子对象的左右边缘裁剪它的容器边框。裁剪会基于水平对齐的方式:左对齐的会裁剪右边缘,右对齐的会裁剪左边缘,不会左右边缘都裁剪。
start将对象推送到其容器的起始处,而不更改其大小。
end将对象推送到其容器的结尾处,而不更改其大小。
它对应的全局资源符号是gravity。
android:ignoreGravity
关联方法:setIgnoreGravity(int viewId)
属性说明:指示什么视图不应受重力影响(gravity)。即忽略gravity设置。
必须引用另一个资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name)。
对应的全局属性资源符号是ignoreGravity。
【继承自view.ViewGroup的XML属性】
...
【继承自view.View的XML属性】
...
【公共方法】
public RelativeLayout.LayoutParams generateLayoutParams (AttributeSet attrs)
Added in API level 1
根据提供的属性集返回一组新的布局参数。
public CharSequence getAccessibilityClassName ()
Added in API level 23
返回此对象的类名以用于辅助功能。子类只能覆盖这个,如果他们实现的东西,应该被视为一个完全新的类的视图使用时的可访问性,与其派生的类无关。这用于填充AccessibilityNodeInfo.setClassName。
public int getBaseline ()
Added in API level 1
从窗口小部件的顶边界返回窗口小部件的文本基线的偏移量。如果此窗口小部件不支持基线对齐,则此方法返回-1
public void requestLayout ()
Added in API level 1
当某些更改已使此视图的布局无效时调用此方法。这将安排视图树的布局传递。 当视图层次结构当前处于布局传递(isInLayout())时,不应该调用此函数。如果布局正在进行,则请求可以在当前布局传递结束时执行(然后布局将再次运行)或在当前布局传递 框架被绘制并且下一个布局发生。
覆盖此方法的子类应调用超类方法以正确处理布局可能的请求。
public int getGravity ()
Added in API level 16
描述子视图如何定位。
相关属性:android:gravity
public void setGravity (int gravity)
Added in API level 1
描述子视图如何定位。默认为Gravity.START | Gravity.TOP。
注意,由于RelativeLayout认为每个孩子相对于彼此的定位是显着的,所以设置重力将影响所有孩子作为父单元内的单个单元的定位。 这发生在孩子们相对定位之后。
相关属性:android:gravity
public void setHorizontalGravity (int horizontalGravity)
Added in API level 1
public void setVerticalGravity (int verticalGravity)
Added in API level 1
public void setIgnoreGravity (int viewId)
Added in API level 1
定义当应用gravity时忽略哪个视图。如果重力为Gravity.START | Gravity.TOP,此设置不起作用。
相关属性:android:ignoreGravity
public boolean shouldDelayChildPressedState ()
Added in API level 14
如果按下的状态应该延迟此ViewGroup的子代或后代,则返回true。 通常,应该对可以滚动的容器(例如列表)执行此操作。 这防止当用户实际上试图滚动内容时出现按下状态。 出于兼容性原因,默认实现返回true。 不滚动的子类通常应该覆盖此方法并返回false