API 23 view.ViewGroup——属性分析
参阅: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
属性说明:设置整个viewGroup的drawable状态是否也包含子控件的drawable状态。这用于例如使一个组在其子EditText或按钮聚焦时显示为聚焦。
可以是一个布尔值(boolean),“true”或“false”。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是addStatesFromChildren。
该属性用于当子控件editext或者button获得焦点时作为一个组出现使用,这样一来,将
android:addStatesFromChildren设为true,当组中的EditText或是Button获取焦点时,将Layout的Background设置成相应EditText或的Button的Drawable ,这样看上去该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。
常用于listView的item中包含多个控件 点击无效。
当一个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事件发生的子视图。 有关详细信息,请参阅setMotionEventSplittingEnabled(boolean)。
可以是一个布尔值(boolean),“true”或“false”。
可以引用一个资源(格式:@[package:]type:name)或者是包含这种类型值的主题属性(格式:?[package][type:]name)。
它对应的全局资源符号是splitMotionEvents。
【继承自view.View的XML属性】
...
【公共构造函数】
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中shape中的属性大全
- Android布局文件中的属性含义
- Android界面设计之:使用水平视图切换
- Android RelativeLayout常用属性~
- ImageView---属性android:background与android:src的区别
- Android Property System | Android属性系统
- 关于 android:layout_x 和 android:layout_y 属性
- 【Android】“android:gravity”和“android:layout_gravity”属