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更高的优先级。 支持的可选面是:
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. 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 保存屏幕视图以及保存屏幕子视图状态,最多可显示 |
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() 除了 |
int |
getItemAlignmentViewId() 返回要对齐的视图的ID,或者为项目视图本身返回零。 |
BaseGridView.OnUnhandledKeyListener |
getOnUnhandledKeyListener() 返回未处理的密钥侦听器。 |
final int |
getSaveChildrenLimitNumber() 返回 |
final int |
getSaveChildrenPolicy() 返回保存孩子的政策。 |
int |
getSelectedPosition() 返回选定的项目位置。 |
int |
getSelectedSubPosition() 返回从零开始的子选定项目位置。 |
int |
getVerticalMargin() 垂直返回两个子项之间的边距(以像素为单位)。 |
void |
getViewSelectedOffsets(View view, int[] offsets) 如果选择了视图,则返回从当前位置到最终位置的x / y偏移量。 |
int |
getWindowAlignment() 返回视图中的焦点物品对齐方法。 |
int |
getWindowAlignmentOffset() 返回窗口对齐的像素偏移量。 |
float |
getWindowAlignmentOffsetPercent() 除了 |
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) 寻找一个后裔打电话 |
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) 除 |
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) 设置 |
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) 除了 |
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
|
int FOCUS_SCROLL_ALIGNED
始终保持焦点项目在一个对齐的位置。 开发人员可以使用WINDOW_ALIGN_XXX和ITEM_ALIGN_XXX来定义项目如何对齐。 在此模式下,当焦点返回到视图时,最后的对焦位置将被记住并恢复。
常量值:0(0x00000000)
int FOCUS_SCROLL_ITEM
滚动以在客户区域内制作焦点项目。
常数值:1(0x00000001)
int FOCUS_SCROLL_PAGE
将焦点对准客户区域外的项目时,滚动一页项目。 页面大小与RecyclerView的客户区大小相匹配。
常量值:2(0x00000002)
float ITEM_ALIGN_OFFSET_PERCENT_DISABLED
值表示未使用百分比。
常数值:-1.0
int SAVE_ALL_CHILD
保存在屏幕视图上,并保存关闭屏幕子视图,没有任何限制。 这可能会导致内存不足,只有在处理有限的数据时才使用它。
常量值:3(0x00000003)
int SAVE_LIMITED_CHILD
保存在屏幕视图上,并保存屏幕子视图状态,最多 getSaveChildrenLimitNumber()
。
常量值:2(0x00000002)
int SAVE_NO_CHILD
不要保存任何子视图的状态。
常量值:0(0x00000000)
int SAVE_ON_SCREEN_CHILD
只有保存在屏幕上的子视图中,状态在屏幕之外时会丢失。
常数值:1(0x00000001)
int WINDOW_ALIGN_BOTH_EDGE
第一个项目和最后一个项目与视口的两个边缘对齐。 在列表中间导航时,焦点保持中间位置。
中间位置由“windowAlignOffset”和“windowAlignOffsetPercent”计算; 如果这两个都未定义,则默认值为大小的1/2。
常量值:3(0x00000003)
int WINDOW_ALIGN_HIGH_EDGE
导航到列表末尾时,最后一项与视口的高边对齐。 当离开结束时,焦点保持中间位置。
对于HorizontalGridView,高边指RTL为false时的右边或RTL为true时的左边。 对于VerticalGridView,高边是指底边。
中间位置由“windowAlignOffset”和“windowAlignOffsetPercent”计算; 如果这两个都未定义,则默认值为大小的1/2。
常量值:2(0x00000002)
int WINDOW_ALIGN_LOW_EDGE
第一项与视口的低边缘对齐。 当从第一个项目离开时,焦点保持中间位置。
对于HorizontalGridView,低边指RTL为假时的左边或RTL为真时的右边。 对于VerticalGridView,低边指顶边。
中间位置由“windowAlignOffset”和“windowAlignOffsetPercent”计算; 如果这两个都未定义,则默认值为大小的1/2。
常数值:1(0x00000001)
int WINDOW_ALIGN_NO_EDGE
重点项目始终停留在中间位置。
中间位置由“windowAlignOffset”和“windowAlignOffsetPercent”计算; 如果这两个都未定义,则默认值为大小的1/2。
常量值:0(0x00000000)
float WINDOW_ALIGN_OFFSET_PERCENT_DISABLED
值表示未使用百分比。
常数值:-1.0
VerticalGridView (Context context, AttributeSet attrs)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
VerticalGridView (Context context, AttributeSet attrs, int defStyle)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
defStyle |
int
|
void addOnChildViewHolderSelectedListener (OnChildViewHolderSelectedListener listener)
注册一个回调,在BaseGridView中的一个项目被选中时被调用。 请注意,当视图上有布局挂起时,可能会调用侦听器,从而使侦听器有机会根据选择状态调整即将到来的布局。
Parameters | |
---|---|
listener |
OnChildViewHolderSelectedListener : The listener to be invoked. |
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. |
boolean dispatchKeyEvent (KeyEvent event)
将关键事件分派到焦点路径上的下一个视图。 此路径从视图树的顶部向下延伸到当前聚焦的视图。 如果这个观点有重点,它会发送给自己。 否则,它将沿着焦点路径调度下一个节点。 这个方法也会触发任何关键的监听器。
Parameters | |
---|---|
event |
KeyEvent : The key event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
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. |
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. |
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. |
int getFocusScrollStrategy ()
返回用于响应项目焦点更改而滚动的策略。
Returns | |
---|---|
int |
int getHorizontalMargin ()
水平地返回两个子项之间的边距(以像素为单位)
Returns | |
---|---|
int |
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. |
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. |
int getItemAlignmentViewId ()
返回要对齐的视图的ID,或者为项目视图本身返回零。
Returns | |
---|---|
int |
BaseGridView.OnUnhandledKeyListener getOnUnhandledKeyListener ()
返回未处理的密钥侦听器。
Returns | |
---|---|
BaseGridView.OnUnhandledKeyListener |
int getSaveChildrenLimitNumber ()
返回 getSaveChildrenPolicy()
为 SAVE_LIMITED_CHILD
时使用的限制
Returns | |
---|---|
int |
int getSaveChildrenPolicy ()
返回保存孩子的政策。
Returns | |
---|---|
int |
policy, one of SAVE_NO_CHILD SAVE_ON_SCREEN_CHILD SAVE_LIMITED_CHILD SAVE_ALL_CHILD . |
int getSelectedPosition ()
返回选定的项目位置。
Returns | |
---|---|
int |
int getSelectedSubPosition ()
返回从零开始的子选定项目位置。 一个物品可以有多个ItemAlignmentFacet
,由RecyclerView.ViewHolder
或FacetProviderAdapter
。 当没有定义ItemAlignmentFacet
时返回零。
Returns | |
---|---|
int |
int getVerticalMargin ()
垂直返回两个子项之间的边距(以像素为单位)。
Returns | |
---|---|
int |
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. |
int getWindowAlignment ()
返回视图中的焦点物品对齐方法。
Returns | |
---|---|
int |
WINDOW_ALIGN_BOTH_EDGE , WINDOW_ALIGN_LOW_EDGE , WINDOW_ALIGN_HIGH_EDGE or WINDOW_ALIGN_NO_EDGE . |
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. |
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. |
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. |
boolean hasPreviousViewInSameRow (int position)
如果给定位置上的视图在其前面具有相同的行同级,则返回true。 如果没有创建第一个项目视图,这将返回true。 所以应用程序应该检查OnChildSelectedListener
和OnChildLaidOutListener
。
Parameters | |
---|---|
position |
int : Position in adapter. |
Returns | |
---|---|
boolean |
boolean isChildLayoutAnimated ()
如果动画将在小孩更改大小或添加或删除小孩时运行,则返回true。
不稳定的API,可能会在稍后改变。
Returns | |
---|---|
boolean |
boolean isFocusDrawingOrderEnabled ()
如果启用默认的“最后绘制焦点”订单规则,则返回true。
Returns | |
---|---|
boolean |
boolean isFocusSearchDisabled ()
如果禁用焦点搜索,则返回true。
Returns | |
---|---|
boolean |
boolean isItemAlignmentOffsetWithPadding ()
如果在计算项目对齐偏移量时包含填充,则返回true。
Returns | |
---|---|
boolean |
boolean isScrollEnabled ()
如果启用滚动,则返回true。
Returns | |
---|---|
boolean |
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. |
void onRtlPropertiesChanged (int layoutDirection)
通知布局管理器布局方向性已更新
Parameters | |
---|---|
layoutDirection |
int : the direction of the layout |
void removeOnChildViewHolderSelectedListener (OnChildViewHolderSelectedListener listener)
删除在选中BaseGridView中的项目时调用的回调。
Parameters | |
---|---|
listener |
OnChildViewHolderSelectedListener : The listener to be removed. |
void setAnimateChildLayout (boolean animateChildLayout)
设置在儿童更改大小或添加或删除孩子时是否应运行动画。
不稳定的API,可能会在稍后改变。
Parameters | |
---|---|
animateChildLayout |
boolean
|
void setChildrenVisibility (int visibility)
改变并覆盖儿童的知名度。
Parameters | |
---|---|
visibility |
int
|
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. |
void setFocusDrawingOrderEnabled (boolean enabled)
启用或禁用默认的“最后聚焦绘制”订单规则。
Parameters | |
---|---|
enabled |
boolean
|
void setFocusScrollStrategy (int scrollStrategy)
设置用于响应项目焦点更改而滚动的策略:
Parameters | |
---|---|
scrollStrategy |
int
|
void setFocusSearchDisabled (boolean disabled)
禁用或启用焦点搜索。
Parameters | |
---|---|
disabled |
boolean
|
void setGravity (int gravity)
设置用于子视图定位的重力。 默认为GRAVITY_TOP | GRAVITY_START。
Parameters | |
---|---|
gravity |
int : See Gravity |
void setHasOverlappingRendering (boolean hasOverlapping)
Parameters | |
---|---|
hasOverlapping |
boolean
|
void setHorizontalMargin (int margin)
水平设置两个子项目之间的边距(以像素为单位)
Parameters | |
---|---|
margin |
int
|
void setItemAlignmentOffset (int offset)
为项目对齐设置绝对偏移像素。 如果ItemAlignmentFacet
由RecyclerView.ViewHolder
或FacetProviderAdapter
提供,则子项的对齐设置将被忽略。
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. |
void setItemAlignmentOffsetPercent (float offsetPercent)
除了getItemAlignmentOffset()
之外, getItemAlignmentOffset()
设置项目对齐的偏移百分比。 如果ItemAlignmentFacet
由RecyclerView.ViewHolder
或FacetProviderAdapter
提供,则子项的对齐设置将被忽略。
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. |
void setItemAlignmentOffsetWithPadding (boolean withPadding)
如果在计算项目对齐偏移中包含填充,则设置为true。 如果ItemAlignmentFacet
由RecyclerView.ViewHolder
或FacetProviderAdapter
提供,则子项的对齐设置将被忽略。
Parameters | |
---|---|
withPadding |
boolean : When it is true: we include left/top padding for positive item offset, include right/bottom padding for negative item offset. |
void setItemAlignmentViewId (int viewId)
设置要与之对齐的视图的ID。 使用NO_ID
(默认)为项目视图本身。 如果ItemAlignmentFacet
由RecyclerView.ViewHolder
或FacetProviderAdapter
提供,则子项的对齐设置将被忽略。
Parameters | |
---|---|
viewId |
int
|
void setItemMargin (int margin)
设置两个子项之间的边距(以像素为单位)。
Parameters | |
---|---|
margin |
int
|
void setLayoutEnabled (boolean layoutEnabled)
启用或禁用布局。 禁用布局时,所有孩子都会被移除。
Parameters | |
---|---|
layoutEnabled |
boolean
|
void setNumColumns (int numColumns)
设置列数。 默认为1。
Parameters | |
---|---|
numColumns |
int
|
void setOnChildLaidOutListener (OnChildLaidOutListener listener)
注册一个回调函数,当BaseGridView中的一个项目已经布置完毕时被调用。
Parameters | |
---|---|
listener |
OnChildLaidOutListener : The listener to be invoked. |
void setOnChildSelectedListener (OnChildSelectedListener listener)
注册一个回调,在BaseGridView中的一个项目被选中时被调用。 请注意,当视图上有布局挂起时,可能会调用侦听器,从而使侦听器有机会根据选择状态调整即将到来的布局。
Parameters | |
---|---|
listener |
OnChildSelectedListener : The listener to be invoked. |
void setOnChildViewHolderSelectedListener (OnChildViewHolderSelectedListener listener)
注册一个回调,在BaseGridView中的一个项目被选中时被调用。 请注意,当视图上有布局挂起时,可能会调用侦听器,从而使侦听器有机会根据选择状态调整即将到来的布局。 此方法将清除所有已添加的听众addOnChildViewHolderSelectedListener(OnChildViewHolderSelectedListener)
。
Parameters | |
---|---|
listener |
OnChildViewHolderSelectedListener : The listener to be invoked. |
void setOnKeyInterceptListener (BaseGridView.OnKeyInterceptListener listener)
设置关键侦听侦听器。
Parameters | |
---|---|
listener |
BaseGridView.OnKeyInterceptListener
|
void setOnMotionInterceptListener (BaseGridView.OnMotionInterceptListener listener)
设置通用运动拦截侦听器。
Parameters | |
---|---|
listener |
BaseGridView.OnMotionInterceptListener
|
void setOnTouchInterceptListener (BaseGridView.OnTouchInterceptListener listener)
设置触摸侦听侦听器。
Parameters | |
---|---|
listener |
BaseGridView.OnTouchInterceptListener
|
void setOnUnhandledKeyListener (BaseGridView.OnUnhandledKeyListener listener)
设置未处理的密钥侦听器。
Parameters | |
---|---|
listener |
BaseGridView.OnUnhandledKeyListener
|
void setPruneChild (boolean pruneChild)
启用或禁用修剪儿童。 禁用在转换过程中很有用。
Parameters | |
---|---|
pruneChild |
boolean
|
void setRecyclerListener (RecyclerView.RecyclerListener listener)
注册一个侦听器,每当子视图被回收时都会被通知。
当LayoutManager或RecyclerView决定不再需要子视图时,将调用此侦听器。 如果应用程序将昂贵或重量级数据与项目视图相关联,则这可能是发布或释放这些资源的好地方。
Parameters | |
---|---|
listener |
RecyclerView.RecyclerListener : Listener to register, or null to clear |
void setSaveChildrenLimitNumber (int limitNumber)
设置 getSaveChildrenPolicy()
为 SAVE_LIMITED_CHILD
时的限制数量。
Parameters | |
---|---|
limitNumber |
int
|
void setSaveChildrenPolicy (int savePolicy)
设置保存孩子的政策。
Parameters | |
---|---|
savePolicy |
int : One of SAVE_NO_CHILD SAVE_ON_SCREEN_CHILD SAVE_LIMITED_CHILD SAVE_ALL_CHILD . |
void setScrollEnabled (boolean scrollEnabled)
启用或禁用滚动。 禁用在转换过程中很有用。
Parameters | |
---|---|
scrollEnabled |
boolean
|
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. |
void setSelectedPosition (int position, int scrollExtra)
立即更改所选项目而不使用动画,scrollExtra应用于主要滚动方向。 scrollExtra将保留,直到另一个setSelectedPosition(int)
或setSelectedPositionSmooth(int)
呼叫。
Parameters | |
---|---|
position |
int
|
scrollExtra |
int
|
void setSelectedPosition (int position)
立即更改所选项目而不动画。
Parameters | |
---|---|
position |
int
|
void setSelectedPositionSmooth (int position)
更改选定的项目并运行动画以滚动到目标位置。
Parameters | |
---|---|
position |
int
|
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. |
void setSelectedPositionSmoothWithSub (int position, int subposition)
更改选定的项目和/或子位置,运行动画以滚动到目标位置。
Parameters | |
---|---|
position |
int
|
subposition |
int
|
void setSelectedPositionWithSub (int position, int subposition)
立即更改所选项目和/或子位置,而无需动画。
Parameters | |
---|---|
position |
int
|
subposition |
int
|
void setSelectedPositionWithSub (int position, int subposition, int scrollExtra)
在没有动画的情况下立即更改所选项目和/或子位置,scrollExtra应用于主滚动方向。 scrollExtra将一直保留到另一个setSelectedPosition(int)
或setSelectedPositionSmooth(int)
通话。
Parameters | |
---|---|
position |
int
|
subposition |
int
|
scrollExtra |
int
|
void setVerticalMargin (int margin)
垂直设置两个子项之间的边距(以像素为单位)。
Parameters | |
---|---|
margin |
int
|
void setWindowAlignment (int windowAlignment)
在视图中设置焦点物品对齐的方法。
Parameters | |
---|---|
windowAlignment |
int : WINDOW_ALIGN_BOTH_EDGE , WINDOW_ALIGN_LOW_EDGE , WINDOW_ALIGN_HIGH_EDGE or WINDOW_ALIGN_NO_EDGE . |
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. |
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. |
void initAttributes (Context context, AttributeSet attrs)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
void initBaseGridViewAttributes (Context context, AttributeSet attrs)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
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. |