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)

定义布局更改(由添加和删除项目引起)是否应导致 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
(boolean)

设置此 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的主要内容,如果未能解决你的问题,请参考以下文章

浅谈Android编码规范及命名规范

浅谈Android 01

Android IPC之Messenger浅谈

浅谈 Android 开发文化

浅谈Android发展趋势分析

浅谈 MVP in Android