Most visited

Recently visited

VerticalGridView

public class VerticalGridView
extends RecyclerView

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.support.v7.widget.RecyclerView
         ↳ android.support.v17.leanback.widget.VerticalGridView


显示垂直滚动列表中的项目的ViewGroup 这些项目来自RecyclerView.Adapter与此观点相关联。

RecyclerView.Adapter可以有选择地实现FacetProviderAdapter ,它为给定的视图类型提供FacetProvider ; RecyclerView.ViewHolder也可以实现FacetProvider 来自ViewHolder的Facet具有比来自与viewType关联的FacetProiderAdapter更高的优先级。 支持的可选面是:

  1. ItemAlignmentFacet When this facet is provided by ViewHolder or FacetProviderAdapter, it will override the item alignment settings set on VerticalGridView. This facet also allows multiple alignment positions within one ViewHolder.

Summary

Inherited XML attributes

From class android.support.v7.widget.RecyclerView
From class android.view.ViewGroup
From class android.view.View

Constants

int FOCUS_SCROLL_ALIGNED

始终保持焦点项目在一个对齐的位置。

int FOCUS_SCROLL_ITEM

滚动以在客户区域内制作焦点项目。

int FOCUS_SCROLL_PAGE

将焦点对准客户区域外的项目时,滚动一页项目。

float ITEM_ALIGN_OFFSET_PERCENT_DISABLED

值表示未使用百分比。

int SAVE_ALL_CHILD

保存在屏幕视图上,并保存关闭屏幕子视图,没有任何限制。

int SAVE_LIMITED_CHILD

保存屏幕视图以及保存屏幕子视图状态,最多可显示 getSaveChildrenLimitNumber()

int SAVE_NO_CHILD

不要保存任何子视图的状态。

int SAVE_ON_SCREEN_CHILD

只有保存在屏幕上的子视图中,状态在屏幕之外时会丢失。

int WINDOW_ALIGN_BOTH_EDGE

第一个项目和最后一个项目与视口的两个边缘对齐。

int WINDOW_ALIGN_HIGH_EDGE

导航到列表末尾时,最后一项与视口的高边对齐。

int WINDOW_ALIGN_LOW_EDGE

第一项与视口的低边缘对齐。

int WINDOW_ALIGN_NO_EDGE

重点项目始终停留在中间位置。

float WINDOW_ALIGN_OFFSET_PERCENT_DISABLED

值表示未使用百分比。

Inherited constants

From class android.support.v7.widget.RecyclerView
From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

VerticalGridView(Context context)
VerticalGridView(Context context, AttributeSet attrs)
VerticalGridView(Context context, AttributeSet attrs, int defStyle)

Public methods

void addOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener listener)

注册一个回调,在BaseGridView中的一个项目被选中时被调用。

boolean dispatchGenericFocusedEvent(MotionEvent event)

将通用运动事件分派给当前的焦点视图。

boolean dispatchKeyEvent(KeyEvent event)

将关键事件分派到焦点路径上的下一个视图。

boolean dispatchTouchEvent(MotionEvent event)

将触摸屏动作事件向下传递给目标视图,或者将此视图作为目标。

View focusSearch(int direction)

在指定的方向上查找可以聚焦的最近的视图。

int getChildDrawingOrder(int childCount, int i)

返回为此迭代绘制的子的索引。

int getFocusScrollStrategy()

返回用于响应项目焦点更改而滚动的策略。

int getHorizontalMargin()

水平地返回两个子项之间的边距(以像素为单位)

int getItemAlignmentOffset()

返回项目对齐的绝对偏移量,以像素为单位。

float getItemAlignmentOffsetPercent()

除了 getItemAlignmentOffset()之外, getItemAlignmentOffset()返回项目对齐的偏移百分比。

int getItemAlignmentViewId()

返回要对齐的视图的ID,或者为项目视图本身返回零。

BaseGridView.OnUnhandledKeyListener getOnUnhandledKeyListener()

返回未处理的密钥侦听器。

final int getSaveChildrenLimitNumber()

返回 getSaveChildrenPolicy()SAVE_LIMITED_CHILD时使用的限制

final int getSaveChildrenPolicy()

返回保存孩子的政策。

int getSelectedPosition()

返回选定的项目位置。

int getSelectedSubPosition()

返回从零开始的子选定项目位置。

int getVerticalMargin()

垂直返回两个子项之间的边距(以像素为单位)。

void getViewSelectedOffsets(View view, int[] offsets)

如果选择了视图,则返回从当前位置到最终位置的x / y偏移量。

int getWindowAlignment()

返回视图中的焦点物品对齐方法。

int getWindowAlignmentOffset()

返回窗口对齐的像素偏移量。

float getWindowAlignmentOffsetPercent()

除了 getWindowAlignmentOffset()之外, getWindowAlignmentOffset()返回窗口对齐的偏移百分比。

boolean hasOverlappingRendering()

返回此视图是否包含重叠的内容。

boolean hasPreviousViewInSameRow(int position)

如果给定位置上的视图在其前面具有相同的行同级,则返回true。

boolean isChildLayoutAnimated()

如果动画将在小孩更改大小或添加或删除小孩时运行,则返回true。

boolean isFocusDrawingOrderEnabled()

如果启用默认的“最后绘制焦点”订单规则,则返回true。

final boolean isFocusSearchDisabled()

如果禁用焦点搜索,则返回true。

boolean isItemAlignmentOffsetWithPadding()

如果在计算项目对齐偏移量时包含填充,则返回true。

boolean isScrollEnabled()

如果启用滚动,则返回true。

boolean onRequestFocusInDescendants(int direction, Rect previouslyFocusedRect)

寻找一个后裔打电话 requestFocus()

void onRtlPropertiesChanged(int layoutDirection)

通知布局管理器布局方向性已更新

void removeOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener listener)

删除在选中BaseGridView中的项目时调用的回调。

void setAnimateChildLayout(boolean animateChildLayout)

设置在儿童更改大小或添加或删除孩子时是否应运行动画。

void setChildrenVisibility(int visibility)

改变并覆盖儿童的知名度。

void setColumnWidth(int width)

设置列宽。

void setFocusDrawingOrderEnabled(boolean enabled)

启用或禁用默认的“最后聚焦绘制”订单规则。

void setFocusScrollStrategy(int scrollStrategy)

设置用于响应项目焦点更改而滚动的策略:

final void setFocusSearchDisabled(boolean disabled)

禁用或启用焦点搜索。

void setGravity(int gravity)

设置用于子视图定位的重力。

void setHasOverlappingRendering(boolean hasOverlapping)
void setHorizontalMargin(int margin)

水平设置两个子项目之间的边距(以像素为单位)

void setItemAlignmentOffset(int offset)

为项目对齐设置绝对偏移像素。

void setItemAlignmentOffsetPercent(float offsetPercent)

getItemAlignmentOffset()外, getItemAlignmentOffset()设置项目对齐的偏移百分比。

void setItemAlignmentOffsetWithPadding(boolean withPadding)

如果在计算项目对齐偏移中包含填充,则设置为true。

void setItemAlignmentViewId(int viewId)

设置要与之对齐的视图的ID。

void setItemMargin(int margin)

设置两个子项之间的边距(以像素为单位)。

void setLayoutEnabled(boolean layoutEnabled)

启用或禁用布局。

void setNumColumns(int numColumns)

设置列数。

void setOnChildLaidOutListener(OnChildLaidOutListener listener)

注册一个回调函数,当BaseGridView中的一个项目已经布置完毕时被调用。

void setOnChildSelectedListener(OnChildSelectedListener listener)

注册一个回调,在BaseGridView中的一个项目被选中时被调用。

void setOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener listener)

注册一个回调,在BaseGridView中的一个项目被选中时被调用。

void setOnKeyInterceptListener(BaseGridView.OnKeyInterceptListener listener)

设置关键侦听侦听器。

void setOnMotionInterceptListener(BaseGridView.OnMotionInterceptListener listener)

设置通用运动拦截侦听器。

void setOnTouchInterceptListener(BaseGridView.OnTouchInterceptListener listener)

设置触摸侦听侦听器。

void setOnUnhandledKeyListener(BaseGridView.OnUnhandledKeyListener listener)

设置未处理的密钥侦听器。

void setPruneChild(boolean pruneChild)

启用或禁用修剪儿童。

void setRecyclerListener(RecyclerView.RecyclerListener listener)

注册一个侦听器,每当子视图被回收时都会被通知。

final void setSaveChildrenLimitNumber(int limitNumber)

设置 getSaveChildrenPolicy()SAVE_LIMITED_CHILD时的限制数量。

final void setSaveChildrenPolicy(int savePolicy)

设置保存孩子的政策。

void setScrollEnabled(boolean scrollEnabled)

启用或禁用滚动。

void setSelectedPosition(int position, ViewHolderTask task)

滚动至给定位置后,在ViewHolder上执行任务。

void setSelectedPosition(int position, int scrollExtra)

立即更改所选项目而不使用动画,scrollExtra应用于主要滚动方向。

void setSelectedPosition(int position)

立即更改所选项目而不动画。

void setSelectedPositionSmooth(int position)

更改选定的项目并运行动画以滚动到目标位置。

void setSelectedPositionSmooth(int position, ViewHolderTask task)

平滑滚动到给定位置后,在ViewHolder上执行任务。

void setSelectedPositionSmoothWithSub(int position, int subposition)

更改选定的项目和/或子位置,运行动画以滚动到目标位置。

void setSelectedPositionWithSub(int position, int subposition)

立即更改所选项目和/或子位置,而无需动画。

void setSelectedPositionWithSub(int position, int subposition, int scrollExtra)

在没有动画的情况下立即更改所选项目和/或子位置,scrollExtra应用于主滚动方向。

void setVerticalMargin(int margin)

垂直设置两个子项之间的边距(以像素为单位)。

void setWindowAlignment(int windowAlignment)

在视图中设置焦点物品对齐的方法。

void setWindowAlignmentOffset(int offset)

设置窗口对齐的像素偏移量。

void setWindowAlignmentOffsetPercent(float offsetPercent)

除了 getWindowAlignmentOffset()之外, getWindowAlignmentOffset()设置窗口对齐的偏移百分比。

Protected methods

void initAttributes(Context context, AttributeSet attrs)
void initBaseGridViewAttributes(Context context, AttributeSet attrs)
void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect)

当视图的焦点状态改变时,由视图系统调用。

Inherited methods

From class android.support.v7.widget.RecyclerView
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.support.v4.view.ScrollingView
From interface android.support.v4.view.NestedScrollingChild
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

FOCUS_SCROLL_ALIGNED

int FOCUS_SCROLL_ALIGNED

始终保持焦点项目在一个对齐的位置。 开发人员可以使用WINDOW_ALIGN_XXX和ITEM_ALIGN_XXX来定义项目如何对齐。 在此模式下,当焦点返回到视图时,最后的对焦位置将被记住并恢复。

常量值:0(0x00000000)

FOCUS_SCROLL_ITEM

int FOCUS_SCROLL_ITEM

滚动以在客户区域内制作焦点项目。

常数值:1(0x00000001)

FOCUS_SCROLL_PAGE

int FOCUS_SCROLL_PAGE

将焦点对准客户区域外的项目时,滚动一页项目。 页面大小与RecyclerView的客户区大小相匹配。

常量值:2(0x00000002)

ITEM_ALIGN_OFFSET_PERCENT_DISABLED

float ITEM_ALIGN_OFFSET_PERCENT_DISABLED

值表示未使用百分比。

常数值:-1.0

SAVE_ALL_CHILD

int SAVE_ALL_CHILD

保存在屏幕视图上,并保存关闭屏幕子视图,没有任何限制。 这可能会导致内存不足,只有在处理有限的数据时才使用它。

常量值:3(0x00000003)

SAVE_LIMITED_CHILD

int SAVE_LIMITED_CHILD

保存在屏幕视图上,并保存屏幕子视图状态,最多 getSaveChildrenLimitNumber()

常量值:2(0x00000002)

SAVE_NO_CHILD

int SAVE_NO_CHILD

不要保存任何子视图的状态。

常量值:0(0x00000000)

SAVE_ON_SCREEN_CHILD

int SAVE_ON_SCREEN_CHILD

只有保存在屏幕上的子视图中,状态在屏幕之外时会丢失。

常数值:1(0x00000001)

WINDOW_ALIGN_BOTH_EDGE

int WINDOW_ALIGN_BOTH_EDGE

第一个项目和最后一个项目与视口的两个边缘对齐。 在列表中间导航时,焦点保持中间位置。

中间位置由“windowAlignOffset”和“windowAlignOffsetPercent”计算; 如果这两个都未定义,则默认值为大小的1/2。

常量值:3(0x00000003)

WINDOW_ALIGN_HIGH_EDGE

int WINDOW_ALIGN_HIGH_EDGE

导航到列表末尾时,最后一项与视口的高边对齐。 当离开结束时,焦点保持中间位置。

对于HorizontalGridView,高边指RTL为false时的右边或RTL为true时的左边。 对于VerticalGridView,高边是指底边。

中间位置由“windowAlignOffset”和“windowAlignOffsetPercent”计算; 如果这两个都未定义,则默认值为大小的1/2。

常量值:2(0x00000002)

WINDOW_ALIGN_LOW_EDGE

int WINDOW_ALIGN_LOW_EDGE

第一项与视口的低边缘对齐。 当从第一个项目离开时,焦点保持中间位置。

对于HorizontalGridView,低边指RTL为假时的左边或RTL为真时的右边。 对于VerticalGridView,低边指顶边。

中间位置由“windowAlignOffset”和“windowAlignOffsetPercent”计算; 如果这两个都未定义,则默认值为大小的1/2。

常数值:1(0x00000001)

WINDOW_ALIGN_NO_EDGE

int WINDOW_ALIGN_NO_EDGE

重点项目始终停留在中间位置。

中间位置由“windowAlignOffset”和“windowAlignOffsetPercent”计算; 如果这两个都未定义,则默认值为大小的1/2。

常量值:0(0x00000000)

WINDOW_ALIGN_OFFSET_PERCENT_DISABLED

float WINDOW_ALIGN_OFFSET_PERCENT_DISABLED

值表示未使用百分比。

常数值:-1.0

Public constructors

VerticalGridView

VerticalGridView (Context context)

Parameters
context Context

VerticalGridView

VerticalGridView (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

VerticalGridView

VerticalGridView (Context context, 
                AttributeSet attrs, 
                int defStyle)

Parameters
context Context
attrs AttributeSet
defStyle int

Public methods

addOnChildViewHolderSelectedListener

void addOnChildViewHolderSelectedListener (OnChildViewHolderSelectedListener listener)

注册一个回调,在BaseGridView中的一个项目被选中时被调用。 请注意,当视图上有布局挂起时,可能会调用侦听器,从而使侦听器有机会根据选择状态调整即将到来的布局。

Parameters
listener OnChildViewHolderSelectedListener: The listener to be invoked.

dispatchGenericFocusedEvent

boolean dispatchGenericFocusedEvent (MotionEvent event)

将通用运动事件分派给当前的焦点视图。

不要直接调用这个方法。 改为拨打dispatchGenericMotionEvent(MotionEvent)

Parameters
event MotionEvent: The motion event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

dispatchKeyEvent

boolean dispatchKeyEvent (KeyEvent event)

将关键事件分派到焦点路径上的下一个视图。 此路径从视图树的顶部向下延伸到当前聚焦的视图。 如果这个观点有重点,它会发送给自己。 否则,它将沿着焦点路径调度下一个节点。 这个方法也会触发任何关键的监听器。

Parameters
event KeyEvent: The key event to be dispatched.
Returns
boolean True if the event was handled, false otherwise.

dispatchTouchEvent

boolean dispatchTouchEvent (MotionEvent event)

将触摸屏动作事件向下传递给目标视图,或者将此视图作为目标。

Parameters
event MotionEvent: The motion event to be dispatched.
Returns
boolean True if the event was handled by the view, false otherwise.

focusSearch

View focusSearch (int direction)

在指定的方向上查找可以聚焦的最近的视图。 这实际上并没有把重点放在这个观点上。

Parameters
direction int: One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT
Returns
View The nearest focusable in the specified direction, or null if none can be found.

getChildDrawingOrder

int getChildDrawingOrder (int childCount, 
                int i)

返回为此迭代绘制的子的索引。 如果要更改儿童的绘图顺序,请覆盖此选项。 默认情况下,它返回i。

注意:为了调用此方法,您必须首先调用 setChildrenDrawingOrderEnabled(boolean)来启用子订单。

Parameters
childCount int
i int: The current iteration.
Returns
int The index of the child to draw this iteration.

getFocusScrollStrategy

int getFocusScrollStrategy ()

返回用于响应项目焦点更改而滚动的策略。

Returns
int

getHorizontalMargin

int getHorizontalMargin ()

水平地返回两个子项之间的边距(以像素为单位)

Returns
int

getItemAlignmentOffset

int getItemAlignmentOffset ()

返回项目对齐的绝对偏移量,以像素为单位。

Returns
int The number of pixels to offset. Will be negative for alignment from the high edge, or positive for alignment from the low edge. Default value is 0.

getItemAlignmentOffsetPercent

float getItemAlignmentOffsetPercent ()

除了 getItemAlignmentOffset()之外, getItemAlignmentOffset()返回项目对齐的偏移百分比。

Returns
float Percentage to offset. E.g., 40 means 40% of the width from the low edge, or ITEM_ALIGN_OFFSET_PERCENT_DISABLED if disabled. Default value is 50.

getItemAlignmentViewId

int getItemAlignmentViewId ()

返回要对齐的视图的ID,或者为项目视图本身返回零。

Returns
int

getOnUnhandledKeyListener

BaseGridView.OnUnhandledKeyListener getOnUnhandledKeyListener ()

返回未处理的密钥侦听器。

Returns
BaseGridView.OnUnhandledKeyListener

getSaveChildrenLimitNumber

int getSaveChildrenLimitNumber ()

返回 getSaveChildrenPolicy()SAVE_LIMITED_CHILD时使用的限制

Returns
int

getSaveChildrenPolicy

int getSaveChildrenPolicy ()

返回保存孩子的政策。

Returns
int policy, one of SAVE_NO_CHILD SAVE_ON_SCREEN_CHILD SAVE_LIMITED_CHILD SAVE_ALL_CHILD.

getSelectedPosition

int getSelectedPosition ()

返回选定的项目位置。

Returns
int

getSelectedSubPosition

int getSelectedSubPosition ()

返回从零开始的子选定项目位置。 一个物品可以有多个ItemAlignmentFacet ,由RecyclerView.ViewHolderFacetProviderAdapter 当没有定义ItemAlignmentFacet时返回零。

Returns
int

getVerticalMargin

int getVerticalMargin ()

垂直返回两个子项之间的边距(以像素为单位)。

Returns
int

getViewSelectedOffsets

void getViewSelectedOffsets (View view, 
                int[] offsets)

如果选择了视图,则返回从当前位置到最终位置的x / y偏移量。

Parameters
view View: The view to get offsets.
offsets int: offsets[0] holds offset of X, offsets[1] holds offset of Y.

getWindowAlignment

int getWindowAlignment ()

返回视图中的焦点物品对齐方法。

Returns
int WINDOW_ALIGN_BOTH_EDGE, WINDOW_ALIGN_LOW_EDGE, WINDOW_ALIGN_HIGH_EDGE or WINDOW_ALIGN_NO_EDGE.

getWindowAlignmentOffset

int getWindowAlignmentOffset ()

返回窗口对齐的像素偏移量。

Returns
int The number of pixels to offset. If the offset is positive, it is distance from low edge (see WINDOW_ALIGN_LOW_EDGE); if the offset is negative, the absolute value is distance from high edge (see WINDOW_ALIGN_HIGH_EDGE). Default value is 0.

getWindowAlignmentOffsetPercent

float getWindowAlignmentOffsetPercent ()

除了 getWindowAlignmentOffset()之外, getWindowAlignmentOffset()返回窗口对齐的偏移百分比。

Returns
float Percentage to offset. E.g., 40 means 40% of the width from the low edge, or WINDOW_ALIGN_OFFSET_PERCENT_DISABLED if disabled. Default value is 50.

hasOverlappingRendering

boolean hasOverlappingRendering ()

返回此视图是否包含重叠的内容。

打算被特定视图类型覆盖的此函数是在视图上设置alpha时的优化。 如果渲染在alpha <1的视图中重叠,则该视图将被拖到屏幕外的缓冲区,然后合成到位,这可能很昂贵。 如果视图没有重叠的渲染,视图可以直接用适当的alpha值绘制每个基元。 重叠渲染的一个例子是带有背景图像的TextView,例如Button。 非重叠渲染的一个例子是没有背景的TextView或只有前景图像的ImageView。 默认实现返回true; 如果子类有可以优化的情况,子类应该重写。

当前在Canvas中的saveLayer和saveLayerAlpha方法的 Canvas需要View返回true,如果它在内部使用方法而不通过 CLIP_TO_LAYER_SAVE_FLAG

注意:如果在此视图上调用了 forceHasOverlappingRendering(boolean) ,则此方法的返回值将被忽略。

Returns
boolean true if the content in this view might overlap, false otherwise.

hasPreviousViewInSameRow

boolean hasPreviousViewInSameRow (int position)

如果给定位置上的视图在其前面具有相同的行同级,则返回true。 如果没有创建第一个项目视图,这将返回true。 所以应用程序应该检查OnChildSelectedListenerOnChildLaidOutListener

Parameters
position int: Position in adapter.
Returns
boolean

isChildLayoutAnimated

boolean isChildLayoutAnimated ()

如果动画将在小孩更改大小或添加或删除小孩时运行,则返回true。

不稳定的API,可能会在稍后改变。

Returns
boolean

isFocusDrawingOrderEnabled

boolean isFocusDrawingOrderEnabled ()

如果启用默认的“最后绘制焦点”订单规则,则返回true。

Returns
boolean

isFocusSearchDisabled

boolean isFocusSearchDisabled ()

如果禁用焦点搜索,则返回true。

Returns
boolean

isItemAlignmentOffsetWithPadding

boolean isItemAlignmentOffsetWithPadding ()

如果在计算项目对齐偏移量时包含填充,则返回true。

Returns
boolean

isScrollEnabled

boolean isScrollEnabled ()

如果启用滚动,则返回true。

Returns
boolean

onRequestFocusInDescendants

boolean onRequestFocusInDescendants (int direction, 
                Rect previouslyFocusedRect)

寻找一个后裔打电话requestFocus() 当它想要请求关注其子女时,由requestFocus(int, android.graphics.Rect)调用。 覆盖此来定制您如何ViewGroup请求焦点及其子内。

Parameters
direction int: One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT
previouslyFocusedRect Rect: The rectangle (in this View's coordinate system) to give a finer grained hint about where focus is coming from. May be null if there is no hint.
Returns
boolean Whether focus was taken.

onRtlPropertiesChanged

void onRtlPropertiesChanged (int layoutDirection)

通知布局管理器布局方向性已更新

Parameters
layoutDirection int: the direction of the layout

removeOnChildViewHolderSelectedListener

void removeOnChildViewHolderSelectedListener (OnChildViewHolderSelectedListener listener)

删除在选中BaseGridView中的项目时调用的回调。

Parameters
listener OnChildViewHolderSelectedListener: The listener to be removed.

setAnimateChildLayout

void setAnimateChildLayout (boolean animateChildLayout)

设置在儿童更改大小或添加或删除孩子时是否应运行动画。

不稳定的API,可能会在稍后改变。

Parameters
animateChildLayout boolean

setChildrenVisibility

void setChildrenVisibility (int visibility)

改变并覆盖儿童的知名度。

Parameters
visibility int

setColumnWidth

void setColumnWidth (int width)

设置列宽。

Parameters
width int: May be WRAP_CONTENT, or a size in pixels. If zero, column width will be fixed based on number of columns and view width.

setFocusDrawingOrderEnabled

void setFocusDrawingOrderEnabled (boolean enabled)

启用或禁用默认的“最后聚焦绘制”订单规则。

Parameters
enabled boolean

setFocusScrollStrategy

void setFocusScrollStrategy (int scrollStrategy)

设置用于响应项目焦点更改而滚动的策略:

Parameters
scrollStrategy int

setFocusSearchDisabled

void setFocusSearchDisabled (boolean disabled)

禁用或启用焦点搜索。

Parameters
disabled boolean

setGravity

void setGravity (int gravity)

设置用于子视图定位的重力。 默认为GRAVITY_TOP | GRAVITY_START。

Parameters
gravity int: See Gravity

setHasOverlappingRendering

void setHasOverlappingRendering (boolean hasOverlapping)

Parameters
hasOverlapping boolean

setHorizontalMargin

void setHorizontalMargin (int margin)

水平设置两个子项目之间的边距(以像素为单位)

Parameters
margin int

setItemAlignmentOffset

void setItemAlignmentOffset (int offset)

为项目对齐设置绝对偏移像素。 如果ItemAlignmentFacetRecyclerView.ViewHolderFacetProviderAdapter提供,则子项的对齐设置将被忽略。

Parameters
offset int: The number of pixels to offset. Can be negative for alignment from the high edge, or positive for alignment from the low edge.

setItemAlignmentOffsetPercent

void setItemAlignmentOffsetPercent (float offsetPercent)

除了getItemAlignmentOffset()之外, getItemAlignmentOffset()设置项目对齐的偏移百分比。 如果ItemAlignmentFacetRecyclerView.ViewHolderFacetProviderAdapter提供,则子项的对齐设置将被忽略。

Parameters
offsetPercent float: Percentage to offset. E.g., 40 means 40% of the width from the low edge. Use ITEM_ALIGN_OFFSET_PERCENT_DISABLED to disable.

setItemAlignmentOffsetWithPadding

void setItemAlignmentOffsetWithPadding (boolean withPadding)

如果在计算项目对齐偏移中包含填充,则设置为true。 如果ItemAlignmentFacetRecyclerView.ViewHolderFacetProviderAdapter提供,则子项的对齐设置将被忽略。

Parameters
withPadding boolean: When it is true: we include left/top padding for positive item offset, include right/bottom padding for negative item offset.

setItemAlignmentViewId

void setItemAlignmentViewId (int viewId)

设置要与之对齐的视图的ID。 使用NO_ID (默认)为项目视图本身。 如果ItemAlignmentFacetRecyclerView.ViewHolderFacetProviderAdapter提供,则子项的对齐设置将被忽略。

Parameters
viewId int

setItemMargin

void setItemMargin (int margin)

设置两个子项之间的边距(以像素为单位)。

Parameters
margin int

setLayoutEnabled

void setLayoutEnabled (boolean layoutEnabled)

启用或禁用布局。 禁用布局时,所有孩子都会被移除。

Parameters
layoutEnabled boolean

setNumColumns

void setNumColumns (int numColumns)

设置列数。 默认为1。

Parameters
numColumns int

setOnChildLaidOutListener

void setOnChildLaidOutListener (OnChildLaidOutListener listener)

注册一个回调函数,当BaseGridView中的一个项目已经布置完毕时被调用。

Parameters
listener OnChildLaidOutListener: The listener to be invoked.

setOnChildSelectedListener

void setOnChildSelectedListener (OnChildSelectedListener listener)

注册一个回调,在BaseGridView中的一个项目被选中时被调用。 请注意,当视图上有布局挂起时,可能会调用侦听器,从而使侦听器有机会根据选择状态调整即将到来的布局。

Parameters
listener OnChildSelectedListener: The listener to be invoked.

setOnChildViewHolderSelectedListener

void setOnChildViewHolderSelectedListener (OnChildViewHolderSelectedListener listener)

注册一个回调,在BaseGridView中的一个项目被选中时被调用。 请注意,当视图上有布局挂起时,可能会调用侦听器,从而使侦听器有机会根据选择状态调整即将到来的布局。 此方法将清除所有已添加的听众addOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener)

Parameters
listener OnChildViewHolderSelectedListener: The listener to be invoked.

setOnKeyInterceptListener

void setOnKeyInterceptListener (BaseGridView.OnKeyInterceptListener listener)

设置关键侦听侦听器。

Parameters
listener BaseGridView.OnKeyInterceptListener

setOnMotionInterceptListener

void setOnMotionInterceptListener (BaseGridView.OnMotionInterceptListener listener)

设置通用运动拦截侦听器。

Parameters
listener BaseGridView.OnMotionInterceptListener

setOnTouchInterceptListener

void setOnTouchInterceptListener (BaseGridView.OnTouchInterceptListener listener)

设置触摸侦听侦听器。

Parameters
listener BaseGridView.OnTouchInterceptListener

setOnUnhandledKeyListener

void setOnUnhandledKeyListener (BaseGridView.OnUnhandledKeyListener listener)

设置未处理的密钥侦听器。

Parameters
listener BaseGridView.OnUnhandledKeyListener

setPruneChild

void setPruneChild (boolean pruneChild)

启用或禁用修剪儿童。 禁用在转换过程中很有用。

Parameters
pruneChild boolean

setRecyclerListener

void setRecyclerListener (RecyclerView.RecyclerListener listener)

注册一个侦听器,每当子视图被回收时都会被通知。

当LayoutManager或RecyclerView决定不再需要子视图时,将调用此侦听器。 如果应用程序将昂贵或重量级数据与项目视图相关联,则这可能是发布或释放这些资源的好地方。

Parameters
listener RecyclerView.RecyclerListener: Listener to register, or null to clear

setSaveChildrenLimitNumber

void setSaveChildrenLimitNumber (int limitNumber)

设置 getSaveChildrenPolicy()SAVE_LIMITED_CHILD时的限制数量。

Parameters
limitNumber int

setSaveChildrenPolicy

void setSaveChildrenPolicy (int savePolicy)

设置保存孩子的政策。

Parameters
savePolicy int: One of SAVE_NO_CHILD SAVE_ON_SCREEN_CHILD SAVE_LIMITED_CHILD SAVE_ALL_CHILD.

setScrollEnabled

void setScrollEnabled (boolean scrollEnabled)

启用或禁用滚动。 禁用在转换过程中很有用。

Parameters
scrollEnabled boolean

setSelectedPosition

void setSelectedPosition (int position, 
                ViewHolderTask task)

滚动至给定位置后,在ViewHolder上执行任务。

Parameters
position int: Position of item in adapter.
task ViewHolderTask: Task to executed on the ViewHolder at a given position.

setSelectedPosition

void setSelectedPosition (int position, 
                int scrollExtra)

立即更改所选项目而不使用动画,scrollExtra应用于主要滚动方向。 scrollExtra将保留,直到另一个setSelectedPosition(int)setSelectedPositionSmooth(int)呼叫。

Parameters
position int
scrollExtra int

setSelectedPosition

void setSelectedPosition (int position)

立即更改所选项目而不动画。

Parameters
position int

setSelectedPositionSmooth

void setSelectedPositionSmooth (int position)

更改选定的项目并运行动画以滚动到目标位置。

Parameters
position int

setSelectedPositionSmooth

void setSelectedPositionSmooth (int position, 
                ViewHolderTask task)

平滑滚动到给定位置后,在ViewHolder上执行任务。

Parameters
position int: Position of item in adapter.
task ViewHolderTask: Task to executed on the ViewHolder at a given position.

setSelectedPositionSmoothWithSub

void setSelectedPositionSmoothWithSub (int position, 
                int subposition)

更改选定的项目和/或子位置,运行动画以滚动到目标位置。

Parameters
position int
subposition int

setSelectedPositionWithSub

void setSelectedPositionWithSub (int position, 
                int subposition)

立即更改所选项目和/或子位置,而无需动画。

Parameters
position int
subposition int

setSelectedPositionWithSub

void setSelectedPositionWithSub (int position, 
                int subposition, 
                int scrollExtra)

在没有动画的情况下立即更改所选项目和/或子位置,scrollExtra应用于主滚动方向。 scrollExtra将一直保留到另一个setSelectedPosition(int)setSelectedPositionSmooth(int)通话。

Parameters
position int
subposition int
scrollExtra int

setVerticalMargin

void setVerticalMargin (int margin)

垂直设置两个子项之间的边距(以像素为单位)。

Parameters
margin int

setWindowAlignment

void setWindowAlignment (int windowAlignment)

在视图中设置焦点物品对齐的方法。

Parameters
windowAlignment int: WINDOW_ALIGN_BOTH_EDGE, WINDOW_ALIGN_LOW_EDGE, WINDOW_ALIGN_HIGH_EDGE or WINDOW_ALIGN_NO_EDGE.

setWindowAlignmentOffset

void setWindowAlignmentOffset (int offset)

设置窗口对齐的像素偏移量。

Parameters
offset int: The number of pixels to offset. If the offset is positive, it is distance from low edge (see WINDOW_ALIGN_LOW_EDGE); if the offset is negative, the absolute value is distance from high edge (see WINDOW_ALIGN_HIGH_EDGE). Default value is 0.

setWindowAlignmentOffsetPercent

void setWindowAlignmentOffsetPercent (float offsetPercent)

除了 getWindowAlignmentOffset()之外, getWindowAlignmentOffset()设置窗口对齐的偏移百分比。

Parameters
offsetPercent float: Percentage to offset. E.g., 40 means 40% of the width from low edge. Use WINDOW_ALIGN_OFFSET_PERCENT_DISABLED to disable. Default value is 50.

Protected methods

initAttributes

void initAttributes (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

initBaseGridViewAttributes

void initBaseGridViewAttributes (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

onFocusChanged

void onFocusChanged (boolean gainFocus, 
                int direction, 
                Rect previouslyFocusedRect)

当视图的焦点状态改变时,由视图系统调用。 当焦点更改事件是由方向导航导致的,direction和previouslyFocusedRect提供了焦点来自何处的洞察。 重写时,一定要调用超类,以便进行标准的焦点处理。

Parameters
gainFocus boolean: True if the View has focus; false otherwise.
direction int: The direction focus has moved when requestFocus() is called to give this view focus. Values are FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_FORWARD, or FOCUS_BACKWARD. It may not always apply, in which case use the default.
previouslyFocusedRect Rect: The rectangle, in this view's coordinate system, of the previously focused view. If applicable, this will be passed in as finer grained information about where the focus is coming from (in addition to direction). Will be null otherwise.

Hooray!