public abstract class OrientationHelper
extends Object
java.lang.Object | |
↳ | android.support.v7.widget.OrientationHelper |
LayoutManagers的助手类根据视图的方向抽象测量。
它开发的目的是在LayoutManager中轻松支持垂直和水平方向,但也可用于围绕视图边界和儿童测量抽象调用边距和装饰。
也可以看看:
Constants |
|
---|---|
int |
HORIZONTAL |
int |
VERTICAL |
Fields |
|
---|---|
protected final RecyclerView.LayoutManager |
mLayoutManager |
Public methods |
|
---|---|
static OrientationHelper |
createHorizontalHelper(RecyclerView.LayoutManager layoutManager) 为给定的LayoutManager创建一个水平的OrientationHelper。 |
static OrientationHelper |
createOrientationHelper(RecyclerView.LayoutManager layoutManager, int orientation) 为给定的布局管理器和方向创建一个OrientationHelper。 |
static OrientationHelper |
createVerticalHelper(RecyclerView.LayoutManager layoutManager) 为给定的LayoutManager创建一个垂直的OrientationHelper。 |
abstract int |
getDecoratedEnd(View view) 返回视图的结尾,包括其装饰和边距。 |
abstract int |
getDecoratedMeasurement(View view) 以当前方向返回此视图占用的空间,包括装饰和边距。 |
abstract int |
getDecoratedMeasurementInOther(View view) 以垂直方向返回此视图占用的空间,包括装饰和边距。 |
abstract int |
getDecoratedStart(View view) 返回视图的开始,包括其装饰和边距。 |
abstract int |
getEnd() 返回布局的结束位置,但不考虑填充。 |
abstract int |
getEndAfterPadding() 结束填充被移除后,返回布局的结束位置。 |
abstract int |
getEndPadding() 返回布局结尾处的填充。 |
abstract int |
getMode() 从LayoutManager返回当前方向的MeasureSpec模式。 |
abstract int |
getModeInOther() 从LayoutManager返回垂直方向的MeasureSpec模式。 |
abstract int |
getStartAfterPadding() 添加开始填充后,返回布局的开始位置。 |
abstract int |
getTotalSpace() 返回布局的总空间。 |
int |
getTotalSpaceChange() 返回前一个布局过程和当前布局过程之间的布局空间变化。 |
abstract int |
getTransformedEndWithDecoration(View view) 将其矩阵转换应用到其布局位置后,返回视图的结尾。 |
abstract int |
getTransformedStartWithDecoration(View view) 将其矩阵转换应用于其布局位置后,返回视图的开始。 |
abstract void |
offsetChild(View view, int offset) 在这个方向上抵消孩子。 |
abstract void |
offsetChildren(int amount) 按给定的数量抵消所有儿童的职位。 |
void |
onLayoutComplete() 如果状态不是预布局,则在onLayout方法完成后调用此方法。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int HORIZONTAL
常量值:0(0x00000000)
int VERTICAL
常数值:1(0x00000001)
OrientationHelper createHorizontalHelper (RecyclerView.LayoutManager layoutManager)
为给定的LayoutManager创建一个水平的OrientationHelper。
Parameters | |
---|---|
layoutManager |
RecyclerView.LayoutManager : The LayoutManager to attach to. |
Returns | |
---|---|
OrientationHelper |
A new OrientationHelper |
OrientationHelper createOrientationHelper (RecyclerView.LayoutManager layoutManager, int orientation)
为给定的布局管理器和方向创建一个OrientationHelper。
Parameters | |
---|---|
layoutManager |
RecyclerView.LayoutManager : LayoutManager to attach to |
orientation |
int : Desired orientation. Should be HORIZONTAL or VERTICAL |
Returns | |
---|---|
OrientationHelper |
A new OrientationHelper |
OrientationHelper createVerticalHelper (RecyclerView.LayoutManager layoutManager)
为给定的LayoutManager创建一个垂直的OrientationHelper。
Parameters | |
---|---|
layoutManager |
RecyclerView.LayoutManager : The LayoutManager to attach to. |
Returns | |
---|---|
OrientationHelper |
A new OrientationHelper |
int getDecoratedEnd (View view)
返回视图的结尾,包括其装饰和边距。
例如,对于水平助手,如果视图的右侧像素为200,右侧装饰为2px,右侧边距为3px,则返回值为205。
Parameters | |
---|---|
view |
View : The view element to check |
Returns | |
---|---|
int |
The last pixel of the element |
int getDecoratedMeasurement (View view)
以当前方向返回此视图占用的空间,包括装饰和边距。
Parameters | |
---|---|
view |
View : The view element to check |
Returns | |
---|---|
int |
Total space occupied by this view |
int getDecoratedMeasurementInOther (View view)
以垂直方向返回此视图占用的空间,包括装饰和边距。
Parameters | |
---|---|
view |
View : The view element to check |
Returns | |
---|---|
int |
Total space occupied by this view in the perpendicular orientation to current one |
int getDecoratedStart (View view)
返回视图的开始,包括其装饰和边距。
例如,对于水平助手,如果视图的左侧像素为20,左侧装饰为2px,左侧边距为3px,则返回值为15px。
Parameters | |
---|---|
view |
View : The view element to check |
Returns | |
---|---|
int |
The first pixel of the element |
int getEnd ()
返回布局的结束位置,但不考虑填充。
Returns | |
---|---|
int |
The end boundary for this layout without considering padding. |
int getEndAfterPadding ()
结束填充被移除后,返回布局的结束位置。
Returns | |
---|---|
int |
The end boundary for this layout. |
int getEndPadding ()
返回布局结尾处的填充。 对于水平助手,这是正确的填充和垂直助手,这是底部填充。 此方法不检查布局是否为RTL。
Returns | |
---|---|
int |
The padding at the end of the layout. |
int getMode ()
从LayoutManager返回当前方向的MeasureSpec模式。
Returns | |
---|---|
int |
The current measure spec mode. |
int getModeInOther ()
从LayoutManager返回垂直方向的MeasureSpec模式。
Returns | |
---|---|
int |
The current measure spec mode. |
int getStartAfterPadding ()
添加开始填充后,返回布局的开始位置。
Returns | |
---|---|
int |
The very first pixel we can draw. |
int getTotalSpace ()
返回布局的总空间。 这个数字是getEndAfterPadding()
和getStartAfterPadding()
之间的getStartAfterPadding()
。
Returns | |
---|---|
int |
Total space to layout children |
int getTotalSpaceChange ()
返回前一个布局过程和当前布局过程之间的布局空间变化。
确保您在LayoutManager的 onLayoutChildren(RecyclerView.Recycler, RecyclerView.State)
方法的末尾调用 onLayoutComplete()
。
Returns | |
---|---|
int |
The difference between the current total space and previous layout's total space. |
也可以看看:
int getTransformedEndWithDecoration (View view)
将其矩阵转换应用到其布局位置后,返回视图的结尾。
尝试检测视图的可见边时,此方法非常有用。
它包括装饰,但不包括边距。
Parameters | |
---|---|
view |
View : The view whose transformed end will be returned |
Returns | |
---|---|
int |
The end of the View after its decor insets and transformation matrix is applied to its position |
int getTransformedStartWithDecoration (View view)
将其矩阵转换应用于其布局位置后,返回视图的开始。
尝试检测视图的可见边时,此方法非常有用。
它包括装饰,但不包括边距。
Parameters | |
---|---|
view |
View : The view whose transformed start will be returned |
Returns | |
---|---|
int |
The start of the View after its decor insets and transformation matrix is applied to its position |
void offsetChild (View view, int offset)
在这个方向上抵消孩子。
Parameters | |
---|---|
view |
View : View to offset |
offset |
int : offset amount |
void offsetChildren (int amount)
按给定的数量抵消所有儿童的职位。
Parameters | |
---|---|
amount |
int : Value to add to each child's layout parameters |
void onLayoutComplete ()
如果状态不是预布局,则在onLayout方法完成后调用此方法。 此方法记录了在下一个布局计算中可能有用的布局边界等信息。