API 23 view.ViewGroup——属性分析

参阅:http://android.xsoftlab.net/reference/android/view/ViewGroup.html

 

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,

CoordinatorLayout,

DrawerLayout,

FragmentBreadCrumbs,

FrameLayout,

GridLayout,

LinearLayout,

LinearLayoutCompat,

PagerTitleStrip,

RecyclerView,

RelativeLayout,

ShadowOverlayContainer,

SlidingDrawer,

SlidingPaneLayout,

SwipeRefreshLayout,

Toolbar,

TvView,

ViewPager  

 

概述

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

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

 

【嵌套类】

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

ViewGroup.LayoutParams

android:layout_height

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

其值可以是用于常数高度或特殊常数之一的维度(例如12dip”)

必须是带单位的浮点型尺寸值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

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

必须是带单位的浮点型尺寸值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

关联方法: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

关联方法: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

关联方法: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

关联方法: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

关联方法:setMarginStart(int start)

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

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

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

对应全局属性资源符号layout_marginStart

 

ViewGroup.MarginLayoutParams

android:layout_marginEnd

关联方法:setMarginEnd(int end)

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

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

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

对应全局属性资源符号layout_marginEnd

 

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

 

XML属性】

API 1

android:addStatesFromChildren

属性说明:设置整个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是一个整体。


API 1

android:alwaysDrawnWithCache

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

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

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

对应全局属性资源符号alwaysDrawnWithCache


API 1

android:animateLayoutChanges

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

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

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

对应全局属性资源符号animateLayoutChanges


API 1

android:animationCache

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

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

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

对应全局属性资源符号animationCache


API 1

android:clipChildren

关联方法:setClipChildren(boolean clipChildren)

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

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

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

对应全局属性资源符号clipChildren

 

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

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


API 1

android:clipToPadding

关联方法:setClipToPadding(boolean clipToPadding)

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

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

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

对应全局属性资源符号clipToPadding

 

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

 

API 1

android:descendantFocusability

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

必须是以下常量之一:

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

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

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

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

 

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

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


API 1

android:layoutAnimation

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

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

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


API 18

android:layoutMode

关联方法:setLayoutMode(int layoutMode)

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

必须是以下常量之一:

clipBounds    0 使用子元素的边界

opticalBounds 1 使用子的光学边界

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


API 1 

android:persistentDrawingCache

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

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

必须是以下常量之一:

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

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

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

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

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


API 11

android:splitMotionEvents

关联方法:setMotionEventSplittingEnabled(boolean split)

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

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

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

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

 

【继承自view.ViewXML属性】

...

 

 

【公共构造函数】

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)




你可能感兴趣的:(Android,API,23,中文版)