API 25 (Android 7.1.1 API) view.ViewGroup——属性分析

来源:互联网 发布:智森网络 编辑:程序博客网 时间:2024/06/05 03:16
Android API 25 (Android 7.1.1)


ViewGroup

public abstract class ViewGroup

extends View implements ViewParent, ViewManager

Added in API level 1

 

java.lang.Object

   ↳android.view.View

    ↳android.view.ViewGroup

 

已知直接子类

AbsoluteLayout

AdapterView<T extends Adapter>

CoordinatorLayout

DrawerLayout

FragmentBreadCrumbs

FrameLayout

GridLayout

LinearLayout

LinearLayoutCompat

PagerTitleStrip

RecyclerView

RelativeLayout

SlidingDrawer

SlidingPaneLayout

SwipeRefreshLayout

Toolbar

TvView

ViewPager

 

【概述】

ViewGroup是一个特殊的视图,可以容纳其他视图。ViewGroup是布局和视图容器的基类。

这个类还定义了布局参数的基类 ViewGroup.LayoutParams

 

【嵌套类】

类      ViewGroup.LayoutParams

LayoutParams用于通过视图告诉他们的父母他们想要如何布局。


ViewGroup.LayoutParams

android:  layout_height

API 1

属性说明:指定视图的基本高度。这是包含布局管理器中任何视图的必需属性

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

可以是以下常数值之一:

fill_parent     -1 视图应该和它的父对象一样大(减去填充)。

此常数从API级别8开始弃用,并由match_parent替换。

match_parent    -1 视图应该和它的父对象一样大(减去填充)。API级别8中引入。

wrap_content    -2 视图应该足够大以包围其内容(加上填充)。

对应全局属性资源符号layout_height

 

ViewGroup.LayoutParams

android:  layout_width

API 1

属性说明:指定视图的基本宽度。这是包含布局管理器中任何视图的必需属性

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

可以是以下常数值之一:

fill_parent      -1 视图应该和它的父对象一样大(减去填充)。

此常数从API级别8开始弃用,并由match_parent替换。

match_parent     -1 视图应该和它的父对象一样大(减去填充)。API级别8中引入。

wrap_content     -2 视图应该足够大以包围其内容(加上填充)。

对应全局属性资源符号layout_width



 

类      ViewGroup.MarginLayoutParams

支持边距的布局的子子布局信息。


ViewGroup.MarginLayoutParams

android:  layout_marginTop

API 1

关联方法:setMargins (int left, int top, int right, int bottom)

属性说明:在视图的顶部指定额外的空间。

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号layout_marginTop

 

ViewGroup.MarginLayoutParams

android:  layout_marginBottom

API 1

关联方法:setMargins (int left, int top, int right, int bottom)

属性说明:在视图的底部指定额外的空间。

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号layout_marginBottom

 

ViewGroup.MarginLayoutParams

android:  layout_marginLeft

API 1

关联方法:setMargins (int left, int top, int right, int bottom)

属性说明:在视图的左侧指定额外的空间。

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号layout_marginLeft

 

ViewGroup.MarginLayoutParams

android:  layout_marginRight

API 1

关联方法:setMargins (int left, int top, int right, int bottom)

属性说明:在视图的右侧指定额外的空间。

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号layout_marginRight

 

ViewGroup.MarginLayoutParams

android:  layout_marginStart

API 17

关联方法:setMarginStart(int start)

属性说明:在视图的开始侧指定额外的空间。

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号layout_marginStart

 

ViewGroup.MarginLayoutParams

android:  layout_marginEnd

API 17

关联方法:setMarginEnd(int end)

属性说明:在视图的结尾侧指定额外的空间。

必须是带单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关像素)sp(通常用于字体尺寸的可伸缩像素)in(英寸)mm(毫米)

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号layout_marginEnd

 



接口      ViewGroup.OnHierarchyChangeListener

当此视图中的层次结构发生更改时要调用的回调的接口定义。

 

【XML属性】

android:  addStatesFromChildren

API 1

属性说明:设置整个viewGroupdrawable状态是否也包含子控件的drawable状态。这用于例如使一个组在其子EditText或按钮聚焦时显示为聚焦。

必须是布尔值(boolean),true”或“false”。

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号addStatesFromChildren

 

该属性用于当子控件editext或者button获得焦点时作为一个组出现使用,这样一来,将

android:addStatesFromChildren设为true当组中的EditText或是Button获取焦点时,将LayoutBackground设置成相应EditText或的ButtonDrawable,这样看上去该linear中的view是一个整体。

 



android:  alwaysDrawnWithCache

API 1

属性说明:设置ViewGroup是否应始终使用其绘图缓存绘制其子项。 默认值为true

必须是布尔值(boolean),true”或“false”。

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号alwaysDrawnWithCache



 

android:  animateLayoutChanges

API 11

属性说明:设置布局改变时是否有动画效果。布局(由添加和删除项目引起)的更改是否应导致LayoutTransition运行。当此标志设置为true时,将在ViewGroup容器上设置默认LayoutTransition对象,并在发生这些布局更改时运行默认动画。  即默认的动画。 

必须是布尔值(boolean),true”或“false”。

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号animateLayoutChanges



 

android:  animationCache

API 1

属性说明:定义布局动画是否应为其子代创建绘图高速缓存。启用动画缓存消耗更多内存,并需要更长的初始化,但提供更好的性能。默认情况下启用动画缓存。

必须是布尔值(boolean),true”或“false”。

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号animationCache



 

android:  clipChildren

API 1

关联方法:setClipChildren(booleanclipChildren)

属性说明:定义子视图是否被限制在其界限内绘制。这对于将孩子的大小缩放到例如超过100%的动画是有用的。 在这种情况下,应将此属性设置为false,以允许子元素在其边界外绘制。 此属性的默认值为true

必须是布尔值(boolean),true”或“false”。

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号clipChildren

 即子view是否被限制在padding区域内。

(图片转自农民伯伯博客)



 

android:  clipToPadding

API 1

关联方法:setClipToPadding(boolean clipToPadding)

属性说明:设置此ViewGroup是否将其子项剪裁到其填充,并调整(但不剪裁)任何EdgeEffect到填充区域(如果存在填充)。默认为true,子项被裁剪到其父ViewGroup的填充。仅当填充为非零时,才会启用此剪裁行为。

必须是布尔值(boolean),true”或“false”。

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应全局属性资源符号clipToPadding

 

即控件的绘制区域是否在padding内,如果设置为false,那么就能绘制到padding上。

 



android:  descendantFocusability

API 1

属性说明:控制子布局焦点获取方式。定义ViewGroup及其后代在查找视图以获取焦点时的关系。

必须是以下常量之一:

        beforeDescendants     viewgroup会优先其子类控件而获取到焦点

        afterDescendants      viewgroup只有当其子类控件不需要获取焦点时才获取焦点

        blocksDescendants     viewgroup会覆盖(阻止)子类控件而直接获得焦点

对应的全局属性资源符号是descendantFocusability

 

常用于listViewitem中包含多个控件 点击无效。

当一个view获取焦点时,定义viewGroup和其子控件两者之间的关系。

 



android:  layoutAnimation

API 1

属性说明:设置要在第一次布局ViewGroup时使用的布局动画。 布局动画也可以在第一个布局后手动启动。

必须引用另一个资源(格式:@[package:]type:name)或主题属性(格式:?[package][type:]name

对应的全局属性资源符号是layoutAnimation



 

android:  layoutMode

API 18

关联方法:setLayoutMode(int layoutMode)

属性说明:定义ViewGroup的布局模式。

必须是以下常量之一:

clipBounds      0  使用子元素的边界

opticalBounds   1  使用子的光学边界

对应的全局属性资源符号是layoutMode



  

android:  persistentDrawingCache

API 1

属性说明:定义绘图的高速缓存的持久性。

绘图缓存可能由一个 ViewGroup在特定情况下为其所有的子类启用,例如在一个滚动的过程中。 此属性可以保留在内存中的缓存后其初始的使用。 坚持缓存会消耗更多的内存,但可以防止频繁的垃圾回收时反复创建缓存。 默认情况下持续存在设置为滚动。

必须是以下常量之一:

none         绘图缓存在使用后不保存。

animation    绘图缓存在布局动画后保存。

scrolling     绘图缓存在滚动后保存。

all          绘图缓存总是持久性保存。

对应的全局属性资源符号是persistentDrawingCache



 

android:  splitMotionEvents

API 11

关联方法:setMotionEventSplittingEnabled(boolean split)

属性说明:设置在触摸事件分派期间此ViewGroup是否应该拆分MotionEvents以分隔子视图。 如果为false(默认),触摸事件将被分派到子视图,其中第一个指针下降,直到最后一个指针上升。 如果为true,则可以将触摸事件分派给多个孩子。 每个指针的MotionEvents将被分派到初始ACTION_DOWN事件发生的子视图。 有关详细信息,请参阅setMotionEventSplittingEnabledboolean)。

必须是布尔值(boolean),true”或“false”。

也可以引用一个包含此类型值的资源格式:@[package:]type:name或主题属性(格式:?[package][type:]name)。

对应的全局属性资源符号是splitMotionEvents



 

【继承自view.View的XML属性】

跳转view.View

 

 

【公共构造函数】

public  ViewGroup (Context context)

public  ViewGroup (Context context, AttributeSet attrs)

public  ViewGroup (Context context, AttributeSet attrs, int defStyleAttr)

public  ViewGroup (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)


0 0
原创粉丝点击