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

public abstractclass

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,

ShadowOverlayContainer,

SlidingDrawer,

SlidingPaneLayout,

SwipeRefreshLayout,

Toolbar,

TvView,

ViewPager

概述

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

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

【嵌套类】

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

ViewGroup.LayoutParams

android:layout_height API 1

属性说明:指定视图的基本高度。 这是包含布局管理器中任何视图的必需属性 其值可以是用于常数高度或特殊常数之一的维度(例如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 API 1

属性说明:指定视图的基本宽度。 这是包含布局管理器中任何视图的必需属性 其值可以是用于常数高度或特殊常数之一的维度(例如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_width

ViewGroup.MarginLayoutParams 支持边距的布局的子子布局信息

ViewGroup.MarginLayoutParams

android:layout_marginTopAPI 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_marginBottomAPI 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_marginLeftAPI 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_marginRightAPI 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_marginStartAPI 17

关联方法:setMarginStart(intstart)

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

可以是一个带有单位的浮点型尺寸值float,如:14.5sp”。有效的单位包括:px(像素)dp(密度无关的像素)sp(基于引用字体的尺寸来缩放的像素)in(英寸)mm(毫米)

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

这个属性对应全局属性资源符号layout_marginStart

ViewGroup.MarginLayoutParams

android:layout_marginEndAPI 17

关联方法:setMarginEnd(intend)

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

可以是一个带有单位的浮点型尺寸值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(boolean clipChildren)

属性说明:定义子视图是否被限制在其界限内绘制。 这对于将孩子的大小缩放到例如超过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.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)



更多相关文章

  1. Android中shape中的属性大全
  2. Android布局文件中的属性含义
  3. Android界面设计之:使用水平视图切换
  4. Android RelativeLayout常用属性~
  5. ImageView---属性android:background与android:src的区别
  6. Android Property System | Android属性系统
  7. 关于 android:layout_x 和 android:layout_y 属性
  8. 【Android】“android:gravity”和“android:layout_gravity”属

随机推荐

  1. Android判断当前应用程序处于前台还是后
  2. 使用 IntelliJ 查看 Android 源码
  3. Android与Vue的交互的方法示例
  4. 更新Activity的几个方法
  5. Android Too many classes in --main-dex
  6. Android技能树 - Rxjava源码(1) 之 初步
  7. Android(安卓)中API之Drawable资源详解及
  8. 【错误问题系列】android sdk content lo
  9. android:drawSelectorOnTop含义
  10. Android系统信息获取 之九:TelephonyManag