public class HorizontalScrollView
extends FrameLayout
java.lang.Object | ||||
↳ | android.view.View | |||
↳ | android.view.ViewGroup | |||
↳ | android.widget.FrameLayout | |||
↳ | android.widget.HorizontalScrollView |
Known Direct Subclasses |
用于视图层次结构的布局容器,可以由用户滚动,允许它比物理显示更大。 HorizontalScrollView是FrameLayout
,这意味着您应该在其中放置一个包含要滚动的全部内容的子项; 这个孩子本身可能是一个具有复杂对象层次结构的布局管理器。 通常使用的儿童是水平方向的LinearLayout
,呈现用户可以滚动浏览的顶级项目的水平阵列。
TextView
类还负责自己的滚动功能,因此不需要HorizontalScrollView,但使用它们可以在更大的容器中实现文本视图的效果。
HorizontalScrollView仅支持水平滚动。 对于垂直滚动,请使用ScrollView
或ListView
。
XML attributes |
|
---|---|
android:fillViewport |
Defines whether the scrollview should stretch its content to fill the viewport. |
Inherited XML attributes |
|
---|---|
From class android.widget.FrameLayout
|
|
From class android.view.ViewGroup
|
|
From class android.view.View
|
Inherited constants |
---|
From class android.view.ViewGroup
|
From class android.view.View
|
Inherited fields |
---|
From class android.view.View
|
Public constructors |
|
---|---|
HorizontalScrollView(Context context) |
|
HorizontalScrollView(Context context, AttributeSet attrs) |
|
HorizontalScrollView(Context context, AttributeSet attrs, int defStyleAttr) |
|
HorizontalScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) |
Public methods |
|
---|---|
void |
addView(View child, int index) 添加子视图。 |
void |
addView(View child) 添加子视图。 |
void |
addView(View child, ViewGroup.LayoutParams params) 添加具有指定布局参数的子视图。 |
void |
addView(View child, int index, ViewGroup.LayoutParams params) 添加具有指定布局参数的子视图。 |
boolean |
arrowScroll(int direction) 响应向左或向右箭头点击处理滚动。 |
void |
computeScroll() 由父级调用,以请求孩子在必要时更新mScrollX和mScrollY的值。 |
boolean |
dispatchKeyEvent(KeyEvent event) 将关键事件分派到焦点路径上的下一个视图。 |
void |
draw(Canvas canvas) 手动将此视图(及其所有子项)呈现给定的Canvas。 |
boolean |
executeKeyEvent(KeyEvent event) 您可以自己调用此函数以使滚动视图执行从关键事件滚动,就好像该事件已由视图层次结构分派给它一样。 |
void |
fling(int velocityX) 滚动滚动视图 |
boolean |
fullScroll(int direction) 处理滚动以响应“家庭/结束”快捷键。 |
CharSequence |
getAccessibilityClassName() 返回此对象的类名称以用于辅助功能。 |
int |
getMaxScrollAmount() |
boolean |
isFillViewport() 指示此HorizontalScrollView的内容是否拉伸以填充视口。 |
boolean |
isSmoothScrollingEnabled() |
boolean |
onGenericMotionEvent(MotionEvent event) 实现此方法来处理通用运动事件。 |
boolean |
onInterceptTouchEvent(MotionEvent ev) 实施此方法来拦截所有触摸屏幕动作事件。 |
boolean |
onTouchEvent(MotionEvent ev) 实现此方法来处理触摸屏幕动作事件。 |
boolean |
pageScroll(int direction) 响应“页面向上/向下”快捷按钮,处理滚动。 |
void |
requestChildFocus(View child, View focused) 当这个父母的孩子需要关注时调用 |
boolean |
requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate) 当该组的小孩想要将特定矩形定位到屏幕上时调用。 |
void |
requestDisallowInterceptTouchEvent(boolean disallowIntercept) 当孩子不希望这个父母及其祖先用 |
void |
requestLayout() 当事情发生变化时调用它,这已经使这个视图的布局无效。 |
void |
scrollTo(int x, int y) 设置视图的滚动位置。 该版本还将滚动限制在我们孩子的范围内。 |
void |
setFillViewport(boolean fillViewport) 指示此HorizontalScrollView是否应扩展其内容宽度以填充视口。 |
void |
setOverScrollMode(int mode) 为此视图设置过卷模式。 |
void |
setSmoothScrollingEnabled(boolean smoothScrollingEnabled) 设置是否使用箭头滚动来为其转场生成动画。 |
boolean |
shouldDelayChildPressedState() 如果应该延迟此ViewGroup的子项或后代的按下状态,则返回true。 |
final void |
smoothScrollBy(int dx, int dy) 像 |
final void |
smoothScrollTo(int x, int y) 像 |
Protected methods |
|
---|---|
int |
computeHorizontalScrollOffset() 计算水平滚动条拇指在水平范围内的水平偏移量。 |
int |
computeHorizontalScrollRange() 滚动视图的滚动范围是其所有子项的整体宽度。 |
int |
computeScrollDeltaToGetChildRectOnScreen(Rect rect) 计算在X方向上滚动的数量,以便在屏幕上完全获取一个矩形(或者,如果比屏幕高,至少是屏幕的第一个屏幕大小)。 |
float |
getLeftFadingEdgeStrength() 返回左边渐变边的强度或强度。 |
float |
getRightFadingEdgeStrength() 返回右边褪色边缘的强度或强度。 |
void |
measureChild(View child, int parentWidthMeasureSpec, int parentHeightMeasureSpec) 要求这个视图的一个孩子测量自己,同时考虑到这个视图的MeasureSpec要求和填充。 |
void |
measureChildWithMargins(View child, int parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int heightUsed) 要求这个观点的一个孩子衡量自己,同时考虑到这个观点的MeasureSpec要求以及它的填充和边距。 |
void |
onLayout(boolean changed, int l, int t, int r, int b) 当这个视图为每个孩子分配一个大小和位置时,从布局调用。 |
void |
onMeasure(int widthMeasureSpec, int heightMeasureSpec) 测量视图及其内容以确定测量宽度和测量高度。 |
void |
onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) 由 |
boolean |
onRequestFocusInDescendants(int direction, Rect previouslyFocusedRect) 当在滚动视图的儿童中寻找焦点时,需要小心一些,不要将焦点放在滚动屏幕外的东西上。 |
void |
onRestoreInstanceState(Parcelable state) 挂钩允许视图重新应用以前由 |
Parcelable |
onSaveInstanceState() 钩子允许视图生成其内部状态的表示,稍后可用于创建具有相同状态的新实例。 |
void |
onSizeChanged(int w, int h, int oldw, int oldh) 当这个视图的大小发生变化时,这在布局期间被调用。 |
Inherited methods |
|
---|---|
From class android.widget.FrameLayout
|
|
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
|
定义滚动视图是否应扩展其内容以填充视口。
必须是布尔值,即“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 fillViewport
。
相关方法:
HorizontalScrollView (Context context)
Parameters | |
---|---|
context |
Context
|
HorizontalScrollView (Context context, AttributeSet attrs)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
HorizontalScrollView (Context context, AttributeSet attrs, int defStyleAttr)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
defStyleAttr |
int
|
HorizontalScrollView (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
defStyleAttr |
int
|
defStyleRes |
int
|
void addView (View child, int index)
添加子视图。 如果没有设置布局参数,则此子视图的默认参数设置在该子级上。
注意:不要调用此方法 draw(android.graphics.Canvas)
, onDraw(android.graphics.Canvas)
, dispatchDraw(android.graphics.Canvas)
或任何相关方法。
Parameters | |
---|---|
child |
View : the child view to add |
index |
int : the position at which to add the child |
void addView (View child)
添加子视图。 如果没有设置布局参数,则此子视图的默认参数设置在该子级上。
注意:不要调用此方法 draw(android.graphics.Canvas)
, onDraw(android.graphics.Canvas)
, dispatchDraw(android.graphics.Canvas)
或任何相关方法。
Parameters | |
---|---|
child |
View : the child view to add |
void addView (View child, ViewGroup.LayoutParams params)
添加具有指定布局参数的子视图。
注意:不要调用此方法 draw(android.graphics.Canvas)
, onDraw(android.graphics.Canvas)
, dispatchDraw(android.graphics.Canvas)
或任何相关方法。
Parameters | |
---|---|
child |
View : the child view to add |
params |
ViewGroup.LayoutParams : the layout parameters to set on the child |
void addView (View child, int index, ViewGroup.LayoutParams params)
添加具有指定布局参数的子视图。
注意:不要调用此方法 draw(android.graphics.Canvas)
, onDraw(android.graphics.Canvas)
, dispatchDraw(android.graphics.Canvas)
或任何相关方法。
Parameters | |
---|---|
child |
View : the child view to add |
index |
int : the position at which to add the child or -1 to add last |
params |
ViewGroup.LayoutParams : the layout parameters to set on the child |
boolean arrowScroll (int direction)
响应向左或向右箭头点击处理滚动。
Parameters | |
---|---|
direction |
int : The direction corresponding to the arrow key that was pressed |
Returns | |
---|---|
boolean |
True if we consumed the event, false otherwise |
void computeScroll ()
由父级调用,以请求孩子在必要时更新mScrollX和mScrollY的值。 这通常会在孩子使用Scroller
对象动画滚动时Scroller
。
boolean dispatchKeyEvent (KeyEvent event)
将关键事件分派到焦点路径上的下一个视图。 此路径从视图树的顶部向下延伸到当前聚焦的视图。 如果这个观点有重点,它会发送给自己。 否则,它将沿着焦点路径调度下一个节点。 这个方法也会触发任何关键的监听器。
Parameters | |
---|---|
event |
KeyEvent : The key event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
void draw (Canvas canvas)
手动将此视图(及其所有子项)呈现给定的Canvas。 在调用这个函数之前,视图必须已经完成了一个完整的布局。 在实现视图时,实现onDraw(android.graphics.Canvas)
而不是重写此方法。 如果您确实需要重写此方法,请调用超类版本。
Parameters | |
---|---|
canvas |
Canvas : The Canvas to which the View is rendered. |
boolean executeKeyEvent (KeyEvent event)
您可以自己调用此函数以使滚动视图执行从关键事件滚动,就好像该事件已由视图层次结构分派给它一样。
Parameters | |
---|---|
event |
KeyEvent : The key event to execute. |
Returns | |
---|---|
boolean |
Return true if the event was handled, else false. |
void fling (int velocityX)
滚动滚动视图
Parameters | |
---|---|
velocityX |
int : The initial velocity in the X direction. Positive numbers mean that the finger/cursor is moving down the screen, which means we want to scroll towards the left. |
boolean fullScroll (int direction)
处理滚动以响应“家庭/结束”快捷键。 此方法将向左或向右滚动视图,并将焦点指向新可见区域中最左侧/最右侧的组件。 如果没有组件是焦点的合适候选者,则此滚动视图回收焦点。
Parameters | |
---|---|
direction |
int : the scroll direction: FOCUS_LEFT to go the left of the view or FOCUS_RIGHT to go the right |
Returns | |
---|---|
boolean |
true if the key event is consumed by this method, false otherwise |
CharSequence getAccessibilityClassName ()
返回此对象的类名称以用于辅助功能。 如果子类正在实现的东西应该被视为一个全新的视图类,当它被可访问性使用时,子类只应该覆盖这个子类,与它所源自的类无关。 这用于填写AccessibilityNodeInfo.setClassName
。
Returns | |
---|---|
CharSequence |
int getMaxScrollAmount ()
Returns | |
---|---|
int |
The maximum amount this scroll view will scroll in response to an arrow event. |
boolean isFillViewport ()
指示此HorizontalScrollView的内容是否拉伸以填充视口。
相关XML属性:
Returns | |
---|---|
boolean |
True if the content fills the viewport, false otherwise. |
boolean isSmoothScrollingEnabled ()
Returns | |
---|---|
boolean |
Whether arrow scrolling will animate its transition. |
boolean onGenericMotionEvent (MotionEvent event)
实现此方法来处理通用运动事件。
通用运动事件描述操纵杆运动,鼠标悬停,触控板触摸,滚轮运动和其他输入事件。 运动事件的source
指定了接收的输入类别。 此方法的实现必须在处理事件之前检查源中的位。 以下代码示例显示了这是如何完成的。
源类为SOURCE_CLASS_POINTER
通用运动事件传递到指针下的视图。 所有其他通用运动事件都会传送到重点视图。
public boolean onGenericMotionEvent(MotionEvent event) { if (event.isFromSource(InputDevice.SOURCE_CLASS_JOYSTICK)) { if (event.getAction() == MotionEvent.ACTION_MOVE) { // process the joystick movement... return true; } } if (event.isFromSource(InputDevice.SOURCE_CLASS_POINTER)) { switch (event.getAction()) { case MotionEvent.ACTION_HOVER_MOVE: // process the mouse hover movement... return true; case MotionEvent.ACTION_SCROLL: // process the scroll wheel movement... return true; } } return super.onGenericMotionEvent(event); }
Parameters | |
---|---|
event |
MotionEvent : The generic motion event being processed. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
boolean onInterceptTouchEvent (MotionEvent ev)
实施此方法来拦截所有触摸屏幕动作事件。 这允许您在事件发送给您的孩子时观看事件,并在任何时候掌握当前手势的所有权。
使用这个函数需要注意,因为它与View.onTouchEvent(MotionEvent)
有一个相当复杂的交互,并且使用它需要以正确的方式执行该方法。 活动将按以下顺序收到:
ACTION_CANCEL
, and all further events will be delivered to your onTouchEvent() method and no longer appear here. Parameters | |
---|---|
ev |
MotionEvent : The motion event being dispatched down the hierarchy. |
Returns | |
---|---|
boolean |
Return true to steal motion events from the children and have them dispatched to this ViewGroup through onTouchEvent(). The current target will receive an ACTION_CANCEL event, and no further messages will be delivered here. |
boolean onTouchEvent (MotionEvent ev)
实现此方法来处理触摸屏幕动作事件。
如果此方法用于检测点击操作,建议通过执行并调用performClick()
来执行操作。 这将确保一致的系统行为,包括:
ACTION_CLICK
when accessibility features are enabled Parameters | |
---|---|
ev |
MotionEvent : The motion event. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
boolean pageScroll (int direction)
响应“页面向上/向下”快捷按钮,处理滚动。 此方法将向左或向右滚动一页,并将焦点指向新可见区域中最左侧/最右侧的组件。 如果没有组件是焦点的合适候选者,则此滚动视图回收焦点。
Parameters | |
---|---|
direction |
int : the scroll direction: FOCUS_LEFT to go one page left or FOCUS_RIGHT to go one page right |
Returns | |
---|---|
boolean |
true if the key event is consumed by this method, false otherwise |
void requestChildFocus (View child, View focused)
当这个父母的孩子需要关注时调用
Parameters | |
---|---|
child |
View : The child of this ViewParent that wants focus. This view will contain the focused view. It is not necessarily the view that actually has focus. |
focused |
View : The view that is a descendant of child that actually has focus |
boolean requestChildRectangleOnScreen (View child, Rect rectangle, boolean immediate)
当该组的小孩想要将特定矩形定位到屏幕上时调用。 ViewGroup
重写这可以相信:
ViewGroup
这应该维护合同:
Parameters | |
---|---|
child |
View : The direct child making the request. |
rectangle |
Rect : The rectangle in the child's coordinates the child wishes to be on the screen. |
immediate |
boolean : True to forbid animated or delayed scrolling, false otherwise |
Returns | |
---|---|
boolean |
Whether the group scrolled to handle the operation |
void requestDisallowInterceptTouchEvent (boolean disallowIntercept)
当孩子不希望这个父母及其祖先用 onInterceptTouchEvent(MotionEvent)
拦截触摸事件时 onInterceptTouchEvent(MotionEvent)
。
这位家长应该将此通知传递给其父母。 这位家长必须在接触期间服从这个要求(也就是说,只有在这位家长收到了或取消后才清除标志。
Parameters | |
---|---|
disallowIntercept |
boolean : True if the child does not want the parent to intercept touch events. |
void requestLayout ()
当事情发生变化时调用它,这已经使这个视图的布局无效。 这将安排视图树的布局传递。 当视图层次结构当前处于布局阶段时( isInLayout()
不应该调用此视图层次结构( isInLayout()
。如果布局发生,则可以在当前布局阶段结束时(然后布局将再次运行)或当前帧结束后绘制并发生下一个布局。
覆盖此方法的子类应调用超类方法以正确处理可能的布局错误请求。
void scrollTo (int x, int y)
设置视图的滚动位置。 这将导致致电onScrollChanged(int, int, int, int)
,该视图将失效。
该版本还将滚动限制在我们孩子的范围内。
Parameters | |
---|---|
x |
int : the x position to scroll to |
y |
int : the y position to scroll to |
void setFillViewport (boolean fillViewport)
指示此HorizontalScrollView是否应扩展其内容宽度以填充视口。
相关XML属性:
Parameters | |
---|---|
fillViewport |
boolean : True to stretch the content's width to the viewport's boundaries, false otherwise. |
void setOverScrollMode (int mode)
为此视图设置过卷模式。 有效的滚动模式有OVER_SCROLL_ALWAYS
(默认), OVER_SCROLL_IF_CONTENT_SCROLLS
(仅当视图内容大于容器时才允许过度滚动)或OVER_SCROLL_NEVER
。 仅当视图能够滚动时才能设置视图的滚动模式。
Parameters | |
---|---|
mode |
int : The new over-scroll mode for this view. |
void setSmoothScrollingEnabled (boolean smoothScrollingEnabled)
设置是否使用箭头滚动来为其转场生成动画。
Parameters | |
---|---|
smoothScrollingEnabled |
boolean : whether arrow scrolling will animate its transition |
boolean shouldDelayChildPressedState ()
如果应该延迟此ViewGroup的子项或后代的按下状态,则返回true。 通常,这应该对可以滚动的容器(例如List)完成。 这可以防止在用户实际尝试滚动内容时出现按下状态。 出于兼容性原因,默认实现返回true。 不滚动的子类通常应该重写此方法并返回false。
Returns | |
---|---|
boolean |
void smoothScrollBy (int dx, int dy)
像 scrollBy(int, int)
一样,但可以顺利滚动而不是立即滚动。
Parameters | |
---|---|
dx |
int : the number of pixels to scroll by on the X axis |
dy |
int : the number of pixels to scroll by on the Y axis |
void smoothScrollTo (int x, int y)
像 scrollTo(int, int)
,但滚动而不是立即滚动。
Parameters | |
---|---|
x |
int : the position where to scroll on the X axis |
y |
int : the position where to scroll on the Y axis |
int computeHorizontalScrollOffset ()
计算水平滚动条拇指在水平范围内的水平偏移量。 该值用于计算滚动条轨道内的拇指位置。
范围以任意单位表示,必须与 computeHorizontalScrollRange()
和 computeHorizontalScrollExtent()
使用的单位相同。
默认偏移量是该视图的滚动偏移量。
Returns | |
---|---|
int |
the horizontal offset of the scrollbar's thumb |
int computeHorizontalScrollRange ()
滚动视图的滚动范围是其所有子项的整体宽度。
Returns | |
---|---|
int |
the total horizontal range represented by the horizontal scrollbar |
int computeScrollDeltaToGetChildRectOnScreen (Rect rect)
计算在X方向上滚动的数量,以便在屏幕上完全获取一个矩形(或者,如果比屏幕高,至少是屏幕的第一个屏幕大小)。
Parameters | |
---|---|
rect |
Rect : The rect. |
Returns | |
---|---|
int |
The scroll delta. |
float getLeftFadingEdgeStrength ()
返回左边渐变边的强度或强度。 强度是介于0.0(无褪色)和1.0(全褪色)之间的值。 默认实现返回0.0或1.0,但两者之间没有值。 滚动发生时,子类应该重写此方法以提供更平滑的淡入淡出转换。
Returns | |
---|---|
float |
the intensity of the left fade as a float between 0.0f and 1.0f |
float getRightFadingEdgeStrength ()
返回右边褪色边缘的强度或强度。 强度是介于0.0(无褪色)和1.0(全褪色)之间的值。 默认实现返回0.0或1.0,但两者之间没有值。 滚动发生时,子类应该重写此方法以提供更平滑的淡入淡出转换。
Returns | |
---|---|
float |
the intensity of the right fade as a float between 0.0f and 1.0f |
void measureChild (View child, int parentWidthMeasureSpec, int parentHeightMeasureSpec)
要求这个视图的一个孩子测量自己,同时考虑到这个视图的MeasureSpec要求和填充。 繁重的工作由getChildMeasureSpec完成。
Parameters | |
---|---|
child |
View : The child to measure |
parentWidthMeasureSpec |
int : The width requirements for this view |
parentHeightMeasureSpec |
int : The height requirements for this view |
void measureChildWithMargins (View child, int parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int heightUsed)
要求这个观点的一个孩子衡量自己,同时考虑到这个观点的MeasureSpec要求以及它的填充和边距。 孩子必须拥有MarginLayoutParams这个繁重的工作是在getChildMeasureSpec中完成的。
Parameters | |
---|---|
child |
View : The child to measure |
parentWidthMeasureSpec |
int : The width requirements for this view |
widthUsed |
int : Extra space that has been used up by the parent horizontally (possibly by other children of the parent) |
parentHeightMeasureSpec |
int : The height requirements for this view |
heightUsed |
int : Extra space that has been used up by the parent vertically (possibly by other children of the parent) |
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 |
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 . |
void onOverScrolled (int scrollX, int scrollY, boolean clampedX, boolean clampedY)
由 overScrollBy(int, int, int, int, int, int, int, int, boolean)
调用以响应过度滚动操作的结果。
Parameters | |
---|---|
scrollX |
int : New X scroll value in pixels |
scrollY |
int : New Y scroll value in pixels |
clampedX |
boolean : True if scrollX was clamped to an over-scroll boundary |
clampedY |
boolean : True if scrollY was clamped to an over-scroll boundary |
boolean onRequestFocusInDescendants (int direction, Rect previouslyFocusedRect)
当在滚动视图的儿童中寻找焦点时,需要小心一些,不要将焦点放在滚动屏幕外的东西上。 这比默认的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 onRestoreInstanceState (Parcelable state)
吊钩允许视图重新应用以前由onSaveInstanceState()
生成的其内部状态的表示。 这个函数永远不会被调用为null状态。
Parameters | |
---|---|
state |
Parcelable : The frozen state that had previously been returned by onSaveInstanceState() . |
Parcelable onSaveInstanceState ()
钩子允许视图生成其内部状态的表示,稍后可用于创建具有相同状态的新实例。 此状态应仅包含不持久或以后不能重建的信息。 例如,您永远不会将当前位置存储在屏幕上,因为当视图的新实例放置在其视图层次结构中时会再次计算该位置。
您可能在此处存储的某些示例:文本视图中的当前光标位置(但通常不是文本本身,因为它存储在内容提供程序或其他永久性存储中),即当前在列表视图中选择的项目。
Returns | |
---|---|
Parcelable |
Returns a Parcelable object containing the view's current dynamic state, or null if there is nothing interesting to save. The default implementation returns null. |
void onSizeChanged (int w, int h, int oldw, int oldh)
当这个视图的大小发生变化时,这在布局期间被调用。 如果您刚刚添加到视图层次结构中,则会使用旧值0调用。
Parameters | |
---|---|
w |
int : Current width of this view. |
h |
int : Current height of this view. |
oldw |
int : Old width of this view. |
oldh |
int : Old height of this view. |