API 23 widget.RelativeLayout——属性分析

来源:互联网 发布:win10更改Mac 编辑:程序博客网 时间:2024/05/23 07:23


参阅:http://android.xsoftlab.net/reference/android/widget/RelativeLayout.html

 

public class

RelativeLayout

extends ViewGroup

Added in API level 1

 

java.lang.Object

   ↳ android.view.View

     ↳ android.view.ViewGroup

       ↳ android.widget.RelativeLayout

 

已知直接子类

DialerFilter

PercentRelativeLayout

SearchBar,

TwoLineListItem  

 

【概述】

相对布局,描述子视图与其他子视图或父视图的位置关系。

可以相对于彼此或相对于父母描述子节点的位置的布局。

 

请注意,您不能在RelativeLayout的大小和其子项的位置之间具有循环依赖关系。例如,您不能具有高度设置为WRAP_CONTENTRelativeLayout和设置为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.ViewGroupXML属性】

...

 

【继承自view.ViewXML属性】

...

 

【公共方法】

 

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

0 0