Android-浅谈ViewGroup
Posted 帅次
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android-浅谈ViewGroup相关的知识,希望对你有一定的参考价值。
ViewGroup是一个特殊的View,可以包含其他Views(称为子视图)。而ViewGroup是View的子类,所以ViewGroup可以当成普通的UI组件使用。ViewGroup是layouts和views的基类。该类还定义了ViewGroup.LayoutParams用作Layou基类的类。
ViewGroup的XML属性以及相关方法
XML属性 | 相关方法 | 说明 |
android:addStatesFromChildren |
| 设置此 ViewGroup 的可绘制状态是否还包括其子级的可绘制状态。 |
android:alwaysDrawnWithCache |
| 定义 ViewGroup 是否应始终使用其绘图缓存绘制其子项。 |
android:animateLayoutChanges | setLayoutTransition | 定义布局更改(由添加和删除项目引起)是否应导致 LayoutTransition 运行。 |
android:animationCache |
| 定义布局动画是否应为其子项创建绘图缓存。 |
android:clipChildren | setClipChildren(boolean) | 定义孩子是否被限制在其边界内绘制。 |
android:clipToPadding | setClipToPadding(boolean) | 如果填充不为零,则定义 ViewGroup 是否将裁剪其子项并将任何 EdgeEffect 调整大小(但不裁剪)到其填充。 |
android:descendantFocusability |
| 定义 ViewGroup 和它的后代在寻找一个 View 来获得焦点时的关系。 |
android:layoutAnimation |
| 定义第一次布局 ViewGroup 时使用的布局动画。 |
android:layoutMode | setLayoutMode(int) | 定义此 ViewGroup 的布局模式。 |
android:persistentDrawingCache |
| 定义绘图缓存的持久性。 |
android:splitMotionEvents | setMotionEventSplittingEnabled | 设置此 ViewGroup 是否应在触摸事件调度期间拆分 MotionEvents 以分隔子视图。 |
ViewGroup.LayoutParams
LayoutParams 被视图用来告诉他们的父母他们想要如何布局。
基本的 LayoutParams 类只是描述了视图的宽度和高度的大小。对于每个维度,它可以指定以下之一:
a、MATCH_PARENT,这意味着视图希望与其父视图一样大(减去填充)
b、WRAP_CONTENT,这意味着视图希望足够大以包含其内容(加上填充)
c、确切的数字
ViewGroup的不同子类都有LayoutParams的子类。例如,LinearLayout有自己的 LayoutParams子类.
ViewGroup.LayoutParams(子组件)的XML属性
XML属性 | 说明 |
android:layout_height | 指定视图的基本高度。 |
android:layout_width | 指定视图的基本宽度。 |
ViewGroup.MarginLayoutParams
支持边距的布局的每个子布局信息。
ViewGroup.MarginLayoutParams(子组件)的XML属性及相关方法
XML属性 | 相关方法 | 说明 |
android:layout_margin |
| 指定此视图左侧、顶部、右侧和底部的额外空间。 |
android:layout_marginBottom | setMargins(int,int,int,int) | 指定此视图底部的额外空间。 |
android:layout_marginEnd | setMarginEnd(int) | 指定此视图末端的额外空间。 |
android:layout_marginHorizontal |
| 指定此视图左侧和右侧的额外空间。 |
android:layout_marginLeft | setMargins(int,int,int,int) | 指定此视图左侧的额外空间。 |
android:layout_marginRight | setMargins(int,int,int,int) | 指定此视图右侧的额外空间。 |
android:layout_marginStart | setMarginStart(int) | 指定此视图开始侧的额外空间。 |
android:layout_marginTop | setMargins(int,int,int,int) | 指定此视图顶部的额外空间。 |
android:layout_marginVertical |
| 指定此视图顶部和底部的额外空间。 |
以上是关于Android-浅谈ViewGroup的主要内容,如果未能解决你的问题,请参考以下文章