Most visited

Recently visited

LinearLayoutCompat

public class LinearLayoutCompat
extends ViewGroup

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.support.v7.widget.LinearLayoutCompat
Known Direct Subclasses


将其子项排列在单列或单行中的布局。 行的方向可以通过调用setOrientation()进行设置。 您还可以指定重力,通过调用setGravity()指定所有子元素的对齐方式,或者通过设置LinearLayoutCompat.LayoutParams权重成员来指定特定的子级增长以填充布局中的任何剩余空间。 默认方向是水平的。

请参阅 Linear Layout指南。

有关布局属性,请参阅 LinearLayoutCompat.LayoutParams

Summary

Nested classes

class LinearLayoutCompat.LayoutParams

与ViewLinearLayout相关联的每个孩子的布局信息。

Inherited XML attributes

From class android.view.ViewGroup
From class android.view.View

Constants

int HORIZONTAL

int SHOW_DIVIDER_BEGINNING

在组的开头显示分隔符。

int SHOW_DIVIDER_END

在组的最后显示一个分隔符。

int SHOW_DIVIDER_MIDDLE

在组中的每个项目之间显示分隔线。

int SHOW_DIVIDER_NONE

不要显示任何分隔符。

int VERTICAL

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

LinearLayoutCompat(Context context)
LinearLayoutCompat(Context context, AttributeSet attrs)
LinearLayoutCompat(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

LinearLayoutCompat.LayoutParams generateLayoutParams(AttributeSet attrs)

根据提供的属性集返回一组新的布局参数。

int getBaseline()

从小部件的顶部边界返回小部件文本基线的偏移量。

int getBaselineAlignedChildIndex()
Drawable getDividerDrawable()
int getDividerPadding()

获取用于插入分隔符的填充大小(以像素为单位)

int getOrientation()

返回当前的方向。

int getShowDividers()
float getWeightSum()

返回所需的权重总和。

boolean isBaselineAligned()

指示此布局中包含的小部件是否与其基线对齐。

boolean isMeasureWithLargestChildEnabled()

如果属实,所有有体重的孩子都将被视为最大孩子的最小体型。

void onInitializeAccessibilityEvent(AccessibilityEvent event)

使用有关此视图的信息初始化 AccessibilityEvent ,这是事件源。

void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)

使用关于此视图的信息初始化 AccessibilityNodeInfo

void setBaselineAligned(boolean baselineAligned)

定义此布局中包含的小部件是否与基线对齐。

void setBaselineAlignedChildIndex(int i)
void setDividerDrawable(Drawable divider)

设置一个可绘制的项目作为分隔符。

void setDividerPadding(int padding)

设置分隔符两端显示的填充。

void setGravity(int gravity)

介绍子视图的定位方式。

void setHorizontalGravity(int horizontalGravity)
void setMeasureWithLargestChildEnabled(boolean enabled)

当设置为真时,所有有体重的孩子将被认为是最大的孩子的最小尺寸。

void setOrientation(int orientation)

布局应该是一列还是一列。

void setShowDividers(int showDividers)

设置此布局中的项目之间应该如何显示分隔符

void setVerticalGravity(int verticalGravity)
void setWeightSum(float weightSum)

定义所需的权重总和。

boolean shouldDelayChildPressedState()

如果应该延迟此ViewGroup的子项或后代的按下状态,则返回true。

Protected methods

boolean checkLayoutParams(ViewGroup.LayoutParams p)
LinearLayoutCompat.LayoutParams generateDefaultLayoutParams()

返回与宽度的一套布局参数 MATCH_PARENT及的高度 WRAP_CONTENT当布局的方向是 VERTICAL

LinearLayoutCompat.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p)

根据提供的布局参数返回一组安全的布局参数。

void onDraw(Canvas canvas)

实施这个来做你的绘画。

void onLayout(boolean changed, int l, int t, int r, int b)

当这个视图为每个孩子分配一个大小和位置时,从布局调用。

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。

Inherited methods

From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

Constants

HORIZONTAL

int HORIZONTAL

常量值:0(0x00000000)

SHOW_DIVIDER_BEGINNING

int SHOW_DIVIDER_BEGINNING

在组的开头显示分隔符。

常数值:1(0x00000001)

SHOW_DIVIDER_END

int SHOW_DIVIDER_END

在组的最后显示一个分隔符。

常量值:4(0x00000004)

SHOW_DIVIDER_MIDDLE

int SHOW_DIVIDER_MIDDLE

在组中的每个项目之间显示分隔线。

常量值:2(0x00000002)

SHOW_DIVIDER_NONE

int SHOW_DIVIDER_NONE

不要显示任何分隔符。

常量值:0(0x00000000)

VERTICAL

int VERTICAL

常数值:1(0x00000001)

Public constructors

LinearLayoutCompat

LinearLayoutCompat (Context context)

Parameters
context Context

LinearLayoutCompat

LinearLayoutCompat (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

LinearLayoutCompat

LinearLayoutCompat (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

Public methods

generateLayoutParams

LinearLayoutCompat.LayoutParams generateLayoutParams (AttributeSet attrs)

根据提供的属性集返回一组新的布局参数。

Parameters
attrs AttributeSet: the attributes to build the layout parameters from
Returns
LinearLayoutCompat.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

getBaseline

int getBaseline ()

从小部件的顶部边界返回小部件文本基线的偏移量。 如果此小部件不支持基线对齐,则此方法返回-1。

Returns
int the offset of the baseline within the widget's bounds or -1 if baseline alignment is not supported

getBaselineAlignedChildIndex

int getBaselineAlignedChildIndex ()

Returns
int The index of the child that will be used if this layout is part of a larger layout that is baseline aligned, or -1 if none has been set.

getDividerDrawable

Drawable getDividerDrawable ()

Returns
Drawable the divider Drawable that will divide each item.

也可以看看:

getDividerPadding

int getDividerPadding ()

获取用于插入分隔符的填充大小(以像素为单位)

Returns
int

也可以看看:

getOrientation

int getOrientation ()

返回当前的方向。

Returns
int either HORIZONTAL or VERTICAL

getShowDividers

int getShowDividers ()

Returns
int A flag set indicating how dividers should be shown around items.

也可以看看:

getWeightSum

float getWeightSum ()

返回所需的权重总和。

Returns
float A number greater than 0.0f if the weight sum is defined, or a number lower than or equals to 0.0f if not weight sum is to be used.

isBaselineAligned

boolean isBaselineAligned ()

指示此布局中包含的小部件是否与其基线对齐。

Returns
boolean true when widgets are baseline-aligned, false otherwise

isMeasureWithLargestChildEnabled

boolean isMeasureWithLargestChildEnabled ()

如果属实,所有有体重的孩子都将被视为最大孩子的最小体型。 如果错误,所有孩子都会正常测量。

Returns
boolean True to measure children with a weight using the minimum size of the largest child, false otherwise.

onInitializeAccessibilityEvent

void onInitializeAccessibilityEvent (AccessibilityEvent event)

使用有关此视图的信息初始化AccessibilityEvent ,这是事件源。 换句话说,可访问性事件的来源是其状态改变触发事件触发的视图。

示例:除了由超级实现设置的属性之外,还设置事件的密码属性:

 public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
     super.onInitializeAccessibilityEvent(event);
     event.setPassword(true);
 }

如果 View.AccessibilityDelegate已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)onInitializeAccessibilityEvent(View, AccessibilityEvent)负责处理此调用。

注意:在向事件添加信息之前始终调用超级实现,以防缺省实现具有要添加的基本信息。

Parameters
event AccessibilityEvent: The event to initialize.

onInitializeAccessibilityNodeInfo

void onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)

用关于此视图的信息初始化AccessibilityNodeInfo 基本实现设置:

子类应该重写此方法,调用超级实现,并设置其他属性。

如果 View.AccessibilityDelegate已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo)负责处理此调用。

Parameters
info AccessibilityNodeInfo: The instance to initialize.

setBaselineAligned

void setBaselineAligned (boolean baselineAligned)

定义此布局中包含的小部件是否与基线对齐。

Parameters
baselineAligned boolean: true to align widgets on their baseline, false otherwise

setBaselineAlignedChildIndex

void setBaselineAlignedChildIndex (int i)

Parameters
i int: The index of the child that will be used if this layout is part of a larger layout that is baseline aligned.

setDividerDrawable

void setDividerDrawable (Drawable divider)

设置一个可绘制的项目作为分隔符。

Parameters
divider Drawable: Drawable that will divide each item.

也可以看看:

setDividerPadding

void setDividerPadding (int padding)

设置分隔符两端显示的填充。

Parameters
padding int: Padding value in pixels that will be applied to each end

也可以看看:

setGravity

void setGravity (int gravity)

介绍子视图的定位方式。 默认为GRAVITY_TOP。 如果此布局具有垂直方向,则会控制放置所有子视图的位置(如果存在多余的垂直空间)。 如果此布局具有HORIZONTAL方向,则会控制孩子的对齐。

Parameters
gravity int: See Gravity

setHorizontalGravity

void setHorizontalGravity (int horizontalGravity)

Parameters
horizontalGravity int

setMeasureWithLargestChildEnabled

void setMeasureWithLargestChildEnabled (boolean enabled)

当设置为真时,所有有体重的孩子将被认为是最大的孩子的最小尺寸。 如果错误,所有孩子都会正常测量。 默认情况下禁用。

Parameters
enabled boolean: True to measure children with a weight using the minimum size of the largest child, false otherwise.

setOrientation

void setOrientation (int orientation)

布局应该是一列还是一列。

Parameters
orientation int: Pass HORIZONTAL or VERTICAL. Default value is HORIZONTAL.

setShowDividers

void setShowDividers (int showDividers)

设置此布局中的项目之间应该如何显示分隔符

Parameters
showDividers int: One or more of SHOW_DIVIDER_BEGINNING, SHOW_DIVIDER_MIDDLE, or SHOW_DIVIDER_END, or SHOW_DIVIDER_NONE to show no dividers.

setVerticalGravity

void setVerticalGravity (int verticalGravity)

Parameters
verticalGravity int

setWeightSum

void setWeightSum (float weightSum)

定义所需的权重总和。 如果未指定,则权重总和将在布局时通过添加每个子项的layout_weight来计算。 例如,通过给它一个layout_weight为0.5,并将weightSum设置为1.0的方法,可以用于给单个孩子50%的总可用空间。

Parameters
weightSum float: a number greater than 0.0f, or a number lower than or equals to 0.0f if the weight sum should be computed from the children's layout_weight

shouldDelayChildPressedState

boolean shouldDelayChildPressedState ()

如果应该延迟此ViewGroup的子项或后代的按下状态,则返回true。 通常,这应该对可以滚动的容器(例如List)完成。 这可以防止在用户实际尝试滚动内容时出现按下状态。 出于兼容性原因,默认实现返回true。 不滚动的子类通常应该重写此方法并返回false。

Returns
boolean

Protected methods

checkLayoutParams

boolean checkLayoutParams (ViewGroup.LayoutParams p)

Parameters
p ViewGroup.LayoutParams
Returns
boolean

generateDefaultLayoutParams

LinearLayoutCompat.LayoutParams generateDefaultLayoutParams ()

当布局的方向为VERTICAL时,返回一组宽度为MATCH_PARENT和高度为WRAP_CONTENT的布局VERTICAL 方向为HORIZONTAL ,宽度设置为WRAP_CONTENT ,高度为WRAP_CONTENT

Returns
LinearLayoutCompat.LayoutParams a set of default layout parameters or null

generateLayoutParams

LinearLayoutCompat.LayoutParams generateLayoutParams (ViewGroup.LayoutParams p)

根据提供的布局参数返回一组安全的布局参数。 当一个ViewGroup被传递了一个视图,其布局参数没有通过checkLayoutParams(android.view.ViewGroup.LayoutParams)的测试时,这个方法被调用。 此方法应该返回一组适合此ViewGroup的布局参数,可能是通过从指定的一组布局参数中复制适当的属性。

Parameters
p ViewGroup.LayoutParams: The layout parameters to convert into a suitable set of layout parameters for this ViewGroup.
Returns
LinearLayoutCompat.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

onDraw

void onDraw (Canvas canvas)

实施这个来做你的绘画。

Parameters
canvas Canvas: the canvas on which the background will be drawn

onLayout

void onLayout (boolean changed, 
                int l, 
                int t, 
                int r, 
                int b)

当这个视图为每个孩子分配一个大小和位置时,从布局调用。 带孩子的派生类应该覆盖这个方法,并调用他们每个孩子的布局。

Parameters
changed boolean: This is a new size or position for this view
l int: Left position, relative to parent
t int: Top position, relative to parent
r int: Right position, relative to parent
b int: Bottom position, relative to parent

onMeasure

void onMeasure (int widthMeasureSpec, 
                int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。 此方法由measure(int, int)调用, measure(int, int)子类覆盖以提供其内容的准确和有效的度量。

合同:覆盖此方法时, 必须致电setMeasuredDimension(int, int)来存储此视图的测量宽度和高度。 如果不这样做,将触发IllegalStateException ,由measure(int, int)引发。 调用超类' onMeasure(int, int)是一个有效的用法。

Measure的基类实现默认为背景大小,除非MeasureSpec允许更大的大小。 子类应该覆盖onMeasure(int, int)以提供更好的内容度量。

如果此方法被覆盖,则子类的责任是确保测量的高度和宽度至少为视图的最小高度和宽度( getSuggestedMinimumHeight()getSuggestedMinimumWidth() )。

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

Hooray!