public class View
extends Object
implements Drawable.Callback, KeyEvent.Callback, AccessibilityEventSource
java.lang.Object | |
↳ | android.view.View |
Known Direct Subclasses |
Known Indirect Subclasses
AbsListView,
AbsSeekBar,
AbsSpinner,
AbsoluteLayout,
ActionMenuView,
AdapterView<T extends
Adapter>,
AdapterViewAnimator,
AdapterViewFlipper, and
105 others.
|
该类表示用户界面组件的基本构建块。 视图占用屏幕上的矩形区域,负责绘图和事件处理。 View是小部件的基类,用于创建交互式UI组件(按钮,文本字段等)。 ViewGroup
子类是布局的基类,这是不可见的容器,用于容纳其他视图(或其他视图组)并定义其布局属性。
有关使用此类来开发应用程序的用户界面的信息,请阅读 User Interface开发人员指南。
窗口中的所有视图都排列在一棵树中。 您可以从代码或通过在一个或多个XML布局文件中指定视图树来添加视图。 有许多特殊的视图子类可用作控件或能够显示文本,图像或其他内容。
一旦你创建了一个视图树,通常你可能希望执行几种常见的操作:
TextView
. The available properties and the methods that set them will vary among the different subclasses of views. Note that properties that are known at build time can be set in the XML layout files.requestFocus()
.setOnFocusChangeListener(android.view.View.OnFocusChangeListener)
. Other view subclasses offer more specialized listeners. For example, a Button exposes a listener to notify clients when the button is clicked.setVisibility(int)
.注意:Android框架负责测量,布局和绘制视图。 除非实际执行ViewGroup
否则不应该调用对视图执行这些操作的方法。
要实现一个自定义视图,通常首先要为框架在所有视图上调用的一些标准方法提供重写。 您不需要重写所有这些方法。 事实上,你可以从重写onDraw(android.graphics.Canvas)
开始。
Category | Methods | 描述 |
---|---|---|
Creation | 构造方法 | There is a form of the constructor that are called when the view is created from code and a form that is called when the view is inflated from a layout file. The second form should parse and apply any attributes defined in the layout file. |
|
Called after a view and all of its children has been inflated from XML. | |
Layout |
|
Called to determine the size requirements for this view and all of its children. |
|
Called when this view should assign a size and position to all of its children. | |
|
Called when the size of this view has changed. | |
Drawing |
|
Called when the view should render its content. |
Event processing |
|
Called when a new hardware key event occurs. |
|
Called when a hardware key up event occurs. | |
|
Called when a trackball motion event occurs. | |
|
Called when a touch screen motion event occurs. | |
Focus |
|
Called when the view gains or loses focus. |
|
Called when the window containing the view gains or loses focus. | |
Attaching |
|
Called when the view is attached to a window. |
|
Called when the view is detached from its window. | |
|
Called when the visibility of the window containing the view has changed. |
<Button android:id="@+id/my_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/my_button_text"/>
Button myButton = (Button) findViewById(R.id.my_button);
视图ID在整个树中不必是唯一的,但确保它们在搜索树的部分内至少是唯一的。
视图的几何图形是矩形的几何图形。 视图有一个位置,表示为一对左和顶坐标,以及两个维度,表示为宽度和高度。 位置和尺寸的单位是像素。
可以通过调用方法getLeft()
和getTop()
来检索视图的位置。 前者返回表示视图的矩形的左边或X坐标。 后者返回表示视图的矩形的顶部或Y坐标。 这些方法都返回视图相对于其父项的位置。 例如,当getLeft()返回20时,这意味着视图位于其直接父级左边缘右侧20个像素处。
此外,还提供了几种便利方法来避免不必要的计算,即getRight()
和getBottom()
。 这些方法返回代表视图的矩形右边和底边的坐标。 例如,调用getRight()
与以下计算类似: getLeft() + getWidth()
(有关宽度的更多信息,请参阅Size )。
视图的大小用宽度和高度表示。 一个视图实际上拥有两对宽度和高度值。
第一对称为测量宽度和测量高度 。 这些尺寸定义了视图想要在其父代中有多大(有关更多详细信息,请参见Layout )。可以通过调用getMeasuredWidth()
和getMeasuredHeight()
来获得测量的尺寸。
第二对简单地称为宽度和高度 ,或者有时绘制宽度和绘图高度 。 这些尺寸定义了屏幕上的视图的实际尺寸,在绘制时和布局之后。 这些值可能但不一定与测量的宽度和高度不同。 宽度和高度可以通过致电getWidth()
和getHeight()
。
为了测量其尺寸,视图考虑了其填充。 填充用视图左侧,顶部,右侧和底部的像素表示。 填充可用于将视图的内容偏移特定量的像素。 例如,左边距2会将视图的内容向左边缘的右侧推动2个像素。 填充可以使用被设置setPadding(int, int, int, int)
或setPaddingRelative(int, int, int, int)
方法通过调用和询问getPaddingLeft()
, getPaddingTop()
, getPaddingRight()
, getPaddingBottom()
, getPaddingStart()
, getPaddingEnd()
。
尽管视图可以定义填充,但它不提供对边距的支持。 但是,查看组提供了这样的支持。 更多信息请参考ViewGroup
和ViewGroup.MarginLayoutParams
。
布局是一个双通过程:一个测量通过和一个布局通过。 测量通道在measure(int, int)
执行,是视图树的自顶向下遍历。 在递归过程中,每个视图都会在树中向下推维度规范。 在测量结束时,每个视图都存储了它的测量结果。 第二遍发生在layout(int, int, int, int)
,也是自上而下的。 在此期间,每位家长都有责任使用度量关卡中计算的尺寸来定位其所有孩子。
当视图的measure()方法返回时,必须设置其值getMeasuredWidth()
和getMeasuredHeight()
以及所有该视图的后代的值。 视图的测量宽度和测量的高度值必须尊重视图父母施加的约束。 这保证了在测量结束时,所有父母都接受他们所有孩子的测量。 父视图可以多次调用measure()对其子进行调用。 例如,父母可以用未指定的维度测量每个孩子一次,以确定他们想要的大小,然后如果所有孩子的不受约束的大小的总和过大或过小,则再次用实际数字对它们调用measure()。
度量传递使用两个类来传达维度。 视图使用View.MeasureSpec
类告诉他们的父母他们想如何测量和定位。 基本的LayoutParams类只是描述了视图对于宽度和高度都有多大。 对于每个维度,它可以指定以下之一:
MeasureSpecs用于将需求从父级推送到子级。 MeasureSpec可以处于以下三种模式之一:
要启动布局,请致电requestLayout()
。 当它认为不再适合其当前边界时,通常通过对其本身的视图来调用该方法。
通过走树并记录需要更新的任何视图的绘图命令来处理绘图。 在此之后,整个树的绘图命令被发布到屏幕上,并被剪裁到新损坏的区域。
树被大量地记录和绘制,父母在孩子的前面(即在他们的后面)绘制,并且兄弟姐妹按照它们出现在树中的顺序绘制。 如果你为一个View设置了一个可绘制的背景,那么该View将在绘制它之前绘制它,然后再调用它的方法onDraw()
。 可以在ViewGroup中使用custom child drawing order
覆盖子绘图顺序,并在Views上设置setZ(float)
自定义Z值。
要强制绘制视图,请致电 invalidate()
。
一个观点的基本周期如下:
requestLayout()
.invalidate()
.requestLayout()
or invalidate()
were called, the framework will take care of measuring, laying out, and drawing the tree as appropriate.注意:整个视图树是单线程的。 在任何视图中调用任何方法时,您都必须在UI线程上。 如果您正在其他线程上工作并想从该线程更新视图的状态,则应使用Handler
。
该框架将响应用户输入来处理常规焦点移动。 这包括在视图被移除或隐藏时或在新视图可用时更改焦点。 意见表明他们愿意通过isFocusable()
方法来关注焦点。 要更改视图是否可以关注,请致电setFocusable(boolean)
。 当在触摸模式(见下面的注释)的意见表明,他们是否仍想通过重点isFocusableInTouchMode()
,并且可以通过改变这个setFocusableInTouchMode(boolean)
。
焦点运动基于在给定方向上找到最近邻居的算法。 在极少数情况下,默认算法可能与开发人员的预期行为不匹配。 在这些情况下,您可以通过在布局文件中使用这些XML属性来提供明确的覆盖:
nextFocusDown nextFocusLeft nextFocusRight nextFocusUp
要获得一个特定的焦点视图,请致电 requestFocus()
。
当用户通过方向键(例如D-pad)导航用户界面时,有必要将焦点放在可操作的项目上,例如按钮,以便用户可以看到将要输入的内容。 但是,如果设备具有触摸功能,并且用户通过触摸界面开始与界面进行交互,则不再需要始终突出显示或关注特定视图。 这激发了一种名为“触摸模式”的互动模式。
对于支持触摸的设备,一旦用户触摸屏幕,设备将进入触摸模式。 从这一点开始,只有isFocusableInTouchMode()
为真的视图才是可以关注的,例如文本编辑小部件。 其他可触摸的视图(如按钮)在触摸时不会占用焦点; 他们只会点击点击侦听器。
无论用户何时点击方向键(例如D-pad方向),视图设备都将退出触摸模式,并找到一个视图以获得焦点,以便用户可以继续与用户界面进行交互,而无需再次触摸屏幕。
触摸模式状态保持在Activity
。 致电isInTouchMode()
查看设备当前是否处于触摸模式。
该框架为希望内部滚动其内容的视图提供基本支持。 这包括跟踪X和Y滚动偏移量以及绘制滚动条的机制。 见scrollBy(int, int)
, scrollTo(int, int)
,并awakenScrollBars()
的更多细节。
与ID不同,标签不用于识别视图。 标签本质上是一个额外的信息,可以与视图相关联。 它们通常用于方便地在视图中存储与视图相关的数据,而不是将它们放入单独的结构中。
标签可以用布局XML中的字符序列值指定为使用 android:tag
属性的单个标签或使用 <tag>
子元素的多个标签:
<View ... android:tag="@string/mytag_value" /> <View ...> <tag android:id="@+id/mytag" android:value="@string/mytag_value" /> </View>
也可以使用 setTag(Object)
或 setTag(int, Object)
从代码中指定任意对象的 setTag(int, Object)
。
默认情况下,视图是使用提供给其构造函数的Context对象的主题创建的; 但是,可以通过在布局XML中使用android:theme
属性或通过从代码传递ContextThemeWrapper
到构造函数来指定不同的主题。
当在XML中使用 android:theme
属性时,指定的主题将应用于通胀上下文的主题 LayoutInflater
(请参阅 LayoutInflater
),并用于视图本身以及任何子元素。
在下面的例子中,两个视图都将使用材质深色配色方案创建; 但是,由于使用了仅覆盖属性子集的叠加主题, android:colorAccent
定义在通胀上下文主题(例如活动主题)上的值将被保留。
<LinearLayout ... android:theme="@android:theme/ThemeOverlay.Material.Dark"> <View ...> </LinearLayout>
View类公开了ALPHA
属性以及几个与变换相关的属性,例如TRANSLATION_X
和TRANSLATION_Y
。 这些属性在Property
表单以及类似命名的setter / getter方法(例如setAlpha(float)
用于ALPHA
)中ALPHA
。 这些属性可用于在视图上设置与这些与渲染相关的属性相关的持久状态。 这些属性和方法也可以与基于Animator
的动画结合使用,详情请参阅Animation部分。
从Android 3.0开始,动画视图的首选方法是使用android.animation
包API。 这些基于Animator
的类会更改View对象的实际属性,例如alpha
和translationX
。 这种行为与基于3.0以前版本的Animation
的类相反,它只改变了视图在显示器上的绘制方式。 特别是, ViewPropertyAnimator
课程使得这些视图属性的动画特别容易和高效。
或者,您可以使用3.0之前的动画类来动画呈现视图的呈现方式。 您可以使用setAnimation(Animation)
或startAnimation(Animation)
将Animation
对象附加到视图。 动画可以随时间改变视图的缩放,旋转,平移和alpha。 如果动画附加到具有子项的视图,则动画将影响由该节点生根的整个子树。 动画开始时,框架将负责重新绘制相应的视图,直到动画完成。
有时,应用程序必须能够在用户完全知晓和同意的情况下验证某项操作是否正在执行,例如授予许可请求,进行购买或点击广告。 不幸的是,恶意应用程序可能会试图通过隐藏视图的预期目的来欺骗用户执行这些操作,而不会意识到这一点。 作为一种补救措施,该框架提供了一种触摸过滤机制,可用于提高视图的安全性,从而提供对敏感功能的访问。
要启用触摸过滤,请调用setFilterTouchesWhenObscured(boolean)
或将android:filterTouchesWhenObscured布局属性设置为true。 启用后,框架将放弃每当视图的窗口被另一个可见窗口遮挡时接收到的触摸。 因此,无论何时在视图窗口上方显示吐司,对话框或其他窗口,视图都不会接收到触摸。
为了更好地控制安全性,请考虑覆盖onFilterTouchEventForSecurity(MotionEvent)
方法来实现您自己的安全策略。 另见FLAG_WINDOW_IS_OBSCURED
。
也可以看看:
Nested classes |
|
---|---|
class |
View.AccessibilityDelegate
|
class |
View.BaseSavedState 派生类的基类,想要在 |
class |
View.DragShadowBuilder 创建拖放操作期间系统显示的图像。 |
class |
View.MeasureSpec MeasureSpec封装了从父到子传递的布局需求。 |
interface |
View.OnApplyWindowInsetsListener 监听器以自定义的方式在视图上应用窗口插件。 |
interface |
View.OnAttachStateChangeListener 当该视图附加到窗口或从窗口分离时,将调用回调的接口定义。 |
interface |
View.OnClickListener 单击视图时要调用的回调的接口定义。 |
interface |
View.OnContextClickListener 在单击上下文视图时要调用的回调的接口定义。 |
interface |
View.OnCreateContextMenuListener 在构建此视图的上下文菜单时调用回调的接口定义。 |
interface |
View.OnDragListener 将拖动分派到此视图时调用回调的接口定义。 |
interface |
View.OnFocusChangeListener 当视图的焦点状态改变时调用回调的接口定义。 |
interface |
View.OnGenericMotionListener 将通用运动事件分派到此视图时调用回调的接口定义。 |
interface |
View.OnHoverListener 将悬停事件分派到此视图时要调用的回调的接口定义。 |
interface |
View.OnKeyListener 将硬件按键事件分派到此视图时调用回调的接口定义。 |
interface |
View.OnLayoutChangeListener 由于布局处理而导致视图的布局边界发生更改时调用回调的接口定义。 |
interface |
View.OnLongClickListener 当单击并保存视图时调用回调的接口定义。 |
interface |
View.OnScrollChangeListener 当视图的滚动X或Y位置改变时调用回调的接口定义。 |
interface |
View.OnSystemUiVisibilityChangeListener 在状态栏更改可见性时调用回调的接口定义。 |
interface |
View.OnTouchListener 将触摸事件分派到此视图时调用回调的接口定义。 |
XML attributes |
|
---|---|
android:accessibilityLiveRegion |
Indicates to accessibility services whether the user should be notified when this view changes. |
android:accessibilityTraversalAfter |
Sets the id of a view after which this one is visited in accessibility traversal. |
android:accessibilityTraversalBefore |
Sets the id of a view before which this one is visited in accessibility traversal. |
android:alpha |
alpha property of the view, as a value between 0 (completely transparent) and 1 (completely opaque). |
android:background |
A drawable to use as the background. |
android:backgroundTint |
Tint to apply to the background. |
android:backgroundTintMode |
Blending mode used to apply the background tint. |
android:clickable |
Defines whether this view reacts to click events. |
android:contentDescription |
Defines text that briefly describes content of the view. |
android:contextClickable |
Defines whether this view reacts to context click events. |
android:drawingCacheQuality |
Defines the quality of translucent drawing caches. |
android:duplicateParentState |
When this attribute is set to true, the view gets its drawable state (focused, pressed, etc.) from its direct parent rather than from itself. |
android:elevation |
base z depth of the view 必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ |
android:fadeScrollbars |
Defines whether to fade out scrollbars when they are not in use. |
android:fadingEdgeLength |
Defines the length of the fading edges. |
android:filterTouchesWhenObscured |
Specifies whether to filter touches when the view's window is obscured by another visible window. |
android:fitsSystemWindows |
Boolean internal attribute to adjust view layout based on system windows such as the status bar. |
android:focusable |
Boolean that controls whether a view can take focus. |
android:focusableInTouchMode |
Boolean that controls whether a view can take focus while in touch mode. |
android:forceHasOverlappingRendering |
Whether this view has elements that may overlap when drawn. |
android:foreground |
Defines the drawable to draw over the content. |
android:foregroundGravity |
Defines the gravity to apply to the foreground drawable. |
android:foregroundTint |
Tint to apply to the foreground. |
android:foregroundTintMode |
Blending mode used to apply the foreground tint. |
android:hapticFeedbackEnabled |
Boolean that controls whether a view should have haptic feedback enabled for events such as long presses. |
android:id |
Supply an identifier name for this view, to later retrieve it with View.findViewById() or Activity.findViewById() . |
android:importantForAccessibility |
Controls how this View is important for accessibility which is if it fires accessibility events and if it is reported to accessibility services that query the screen. |
android:isScrollContainer |
Set this if the view will serve as a scrolling container, meaning that it can be resized to shrink its overall window so that there will be space for an input method. |
android:keepScreenOn |
Controls whether the view's window should keep the screen on while visible. |
android:layerType |
Specifies the type of layer backing this view. |
android:layoutDirection |
Defines the direction of layout drawing. |
android:longClickable |
Defines whether this view reacts to long click events. |
android:minHeight |
Defines the minimum height of the view. |
android:minWidth |
Defines the minimum width of the view. |
android:nextFocusDown |
Defines the next view to give focus to when the next focus is FOCUS_DOWN If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed. |
android:nextFocusForward |
Defines the next view to give focus to when the next focus is FOCUS_FORWARD If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed. |
android:nextFocusLeft |
Defines the next view to give focus to when the next focus is FOCUS_LEFT . |
android:nextFocusRight |
Defines the next view to give focus to when the next focus is FOCUS_RIGHT If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed. |
android:nextFocusUp |
Defines the next view to give focus to when the next focus is FOCUS_UP If the reference refers to a view that does not exist or is part of a hierarchy that is invisible, a RuntimeException will result when the reference is accessed. |
android:onClick |
Name of the method in this View's context to invoke when the view is clicked. |
android:padding |
Sets the padding, in pixels, of all four edges. |
android:paddingBottom |
Sets the padding, in pixels, of the bottom edge; see padding . |
android:paddingEnd |
Sets the padding, in pixels, of the end edge; see padding . |
android:paddingLeft |
Sets the padding, in pixels, of the left edge; see padding . |
android:paddingRight |
Sets the padding, in pixels, of the right edge; see padding . |
android:paddingStart |
Sets the padding, in pixels, of the start edge; see padding . |
android:paddingTop |
Sets the padding, in pixels, of the top edge; see padding . |
android:requiresFadingEdge |
Defines which edges should be faded on scrolling. |
android:rotation |
rotation of the view, in degrees. |
android:rotationX |
rotation of the view around the x axis, in degrees. |
android:rotationY |
rotation of the view around the y axis, in degrees. |
android:saveEnabled |
If false, no state will be saved for this view when it is being frozen. |
android:scaleX |
scale of the view in the x direction. |
android:scaleY |
scale of the view in the y direction. |
android:scrollIndicators |
Defines which scroll indicators should be displayed when the view can be scrolled. |
android:scrollX |
The initial horizontal scroll offset, in pixels. |
android:scrollY |
The initial vertical scroll offset, in pixels. |
android:scrollbarAlwaysDrawHorizontalTrack |
Defines whether the horizontal scrollbar track should always be drawn. |
android:scrollbarAlwaysDrawVerticalTrack |
Defines whether the vertical scrollbar track should always be drawn. |
android:scrollbarDefaultDelayBeforeFade |
Defines the delay in milliseconds that a scrollbar waits before fade out. |
android:scrollbarFadeDuration |
Defines the delay in milliseconds that a scrollbar takes to fade out. |
android:scrollbarSize |
Sets the width of vertical scrollbars and height of horizontal scrollbars. |
android:scrollbarStyle |
Controls the scrollbar style and position. |
android:scrollbarThumbHorizontal |
Defines the horizontal scrollbar thumb drawable. |
android:scrollbarThumbVertical |
Defines the vertical scrollbar thumb drawable. |
android:scrollbarTrackHorizontal |
Defines the horizontal scrollbar track drawable. |
android:scrollbarTrackVertical |
Defines the vertical scrollbar track drawable. |
android:scrollbars |
Defines which scrollbars should be displayed on scrolling or not. |
android:soundEffectsEnabled |
Boolean that controls whether a view should have sound effects enabled for events such as clicking and touching. |
android:stateListAnimator |
Sets the state-based animator for the View. |
android:tag |
Supply a tag for this view containing a String, to be retrieved later with View.getTag() or searched for with View.findViewWithTag() . |
android:textAlignment |
Defines the alignment of the text. |
android:textDirection |
Defines the direction of the text. |
android:theme |
Specifies a theme override for a view. |
android:transformPivotX |
x location of the pivot point around which the view will rotate and scale. |
android:transformPivotY |
y location of the pivot point around which the view will rotate and scale. |
android:transitionName |
Names a View such that it can be identified for Transitions. |
android:translationX |
translation in x of the view. |
android:translationY |
translation in y of the view. |
android:translationZ |
translation in z of the view. |
android:visibility |
Controls the initial visibility of the view. |
Fields |
|
---|---|
public static final Property<View, Float> |
ALPHA 围绕由 |
protected static final int[] |
EMPTY_STATE_SET 指示视图没有设置状态。 |
protected static final int[] |
ENABLED_FOCUSED_SELECTED_STATE_SET 表示视图已启用,关注和选择。 |
protected static final int[] |
ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET 指示视图已启用,已聚焦,已选中,并且其窗口具有焦点。 |
protected static final int[] |
ENABLED_FOCUSED_STATE_SET 表示该视图已启用且具有焦点。 |
protected static final int[] |
ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET 表示视图已启用,重点突出,其窗口具有焦点。 |
protected static final int[] |
ENABLED_SELECTED_STATE_SET 表示已启用并选择视图。 |
protected static final int[] |
ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET 表示视图已启用,已选中并且其窗口具有焦点。 |
protected static final int[] |
ENABLED_STATE_SET 表示视图已启用。 |
protected static final int[] |
ENABLED_WINDOW_FOCUSED_STATE_SET 指示视图已启用,并且其窗口具有焦点。 |
protected static final int[] |
FOCUSED_SELECTED_STATE_SET 表示该视图是关注和选择的。 |
protected static final int[] |
FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET 指示视图被聚焦,被选中并且其窗口具有焦点。 |
protected static final int[] |
FOCUSED_STATE_SET 表示该视图是重点。 |
protected static final int[] |
FOCUSED_WINDOW_FOCUSED_STATE_SET 指示视图具有焦点并且其窗口具有焦点。 |
protected static final int[] |
PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET 指示视图被按下,启用,关注和选择。 |
protected static final int[] |
PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET 指示视图被按下,启用,关注,选中并且其窗口具有焦点。 |
protected static final int[] |
PRESSED_ENABLED_FOCUSED_STATE_SET 指示视图被按下,启用和关注。 |
protected static final int[] |
PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET 指示视图被按下,启用,关注并且其窗口具有焦点。 |
protected static final int[] |
PRESSED_ENABLED_SELECTED_STATE_SET 指示视图被按下,启用和选择。 |
protected static final int[] |
PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET 指示视图被按下,启用,选中并且其窗口具有焦点。 |
protected static final int[] |
PRESSED_ENABLED_STATE_SET 指示视图被按下并启用。 |
protected static final int[] |
PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET 指示视图被按下,启用并且其窗口具有焦点。 |
protected static final int[] |
PRESSED_FOCUSED_SELECTED_STATE_SET 指示视图被按下,聚焦和选择。 |
protected static final int[] |
PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET 指示视图被按下,聚焦,选中并且其窗口具有焦点。 |
protected static final int[] |
PRESSED_FOCUSED_STATE_SET 指示视图被按下并聚焦。 |
protected static final int[] |
PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET 指示视图被按下,聚焦并且其窗口具有焦点。 |
protected static final int[] |
PRESSED_SELECTED_STATE_SET 指示按下并选择视图。 |
protected static final int[] |
PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET 指示视图被按下,选中并且其窗口具有焦点。 |
protected static final int[] |
PRESSED_STATE_SET 表示按下了视图。 |
protected static final int[] |
PRESSED_WINDOW_FOCUSED_STATE_SET 指示按下视图并且其窗口具有焦点。 |
public static final Property<View, Float> |
ROTATION 围绕由 |
public static final Property<View, Float> |
ROTATION_X 围绕由 |
public static final Property<View, Float> |
ROTATION_Y 围绕由 |
public static final Property<View, Float> |
SCALE_X 围绕由 |
public static final Property<View, Float> |
SCALE_Y 围绕由 |
protected static final int[] |
SELECTED_STATE_SET 表示已选择视图。 |
protected static final int[] |
SELECTED_WINDOW_FOCUSED_STATE_SET 指示已选择视图并且其窗口具有焦点。 |
public static final Property<View, Float> |
TRANSLATION_X 围绕由 |
public static final Property<View, Float> |
TRANSLATION_Y 围绕由 |
public static final Property<View, Float> |
TRANSLATION_Z 围绕由 |
protected static final int[] |
WINDOW_FOCUSED_STATE_SET 指示视图的窗口具有焦点。 |
public static final Property<View, Float> |
X 围绕由 |
public static final Property<View, Float> |
Y 围绕由 |
public static final Property<View, Float> |
Z 围绕由 |
Public constructors |
|
---|---|
View(Context context) 从代码创建视图时使用简单的构造函数。 |
|
View(Context context, AttributeSet attrs) 从XML扩展视图时调用的构造函数。 |
|
View(Context context, AttributeSet attrs, int defStyleAttr) 从XML执行通货膨胀并应用主题属性中的特定于类的基本样式。 |
|
View(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) 从XML执行通货膨胀并应用主题属性或样式资源中的特定于类的基本样式。 |
Public methods |
|
---|---|
void |
addChildrenForAccessibility(ArrayList<View> outChildren) 将此视图的子项添加到给定列表的可访问性中作为输出。 |
void |
addFocusables(ArrayList<View> views, int direction) 添加这个视图的后代的任何可聚焦视图(如果它本身是可聚焦的,可能包括这个视图)到视图。 |
void |
addFocusables(ArrayList<View> views, int direction, int focusableMode) 将视图后代的任何可聚焦视图添加到视图中(可能包括该视图,如果它本身是可聚焦的话)。 |
void |
addOnAttachStateChangeListener(View.OnAttachStateChangeListener listener) 为附加状态更改添加一个侦听器。 |
void |
addOnLayoutChangeListener(View.OnLayoutChangeListener listener) 添加一个监听器,当由于布局处理而导致视图边界发生更改时将会调用该监听器。 |
void |
addTouchables(ArrayList<View> views) 添加这个视图的后代的任何可触摸的视图(如果它可以自己触摸,可能包括这个视图)到视图。 |
ViewPropertyAnimator |
animate() 此方法返回一个ViewPropertyAnimator对象,该对象可用于为此视图上的特定属性设置动画。 |
void |
announceForAccessibility(CharSequence text) 用于发送 |
void |
bringToFront() 在树中更改视图的z顺序,使其位于其他兄弟视图的顶部。 |
void |
buildDrawingCache(boolean autoScale) 如果图纸缓存无效,则强制绘图缓存生成。 |
void |
buildDrawingCache() 调用此方法相当于调用 |
void |
buildLayer() 强制创建此视图的图层,并将此视图渲染到其图层中。 |
boolean |
callOnClick() 直接调用任何附加的OnClickListener。 |
boolean |
canResolveLayoutDirection() 检查布局方向分辨率是否可以完成。 |
boolean |
canResolveTextAlignment() 检查文本对齐分辨率是否可以完成。 |
boolean |
canResolveTextDirection() 检查文本方向分辨率是否可以完成。 |
boolean |
canScrollHorizontally(int direction) 检查此视图是否可以在某个方向上水平滚动。 |
boolean |
canScrollVertically(int direction) 检查该视图是否可以在某个方向上垂直滚动。 |
final void |
cancelDragAndDrop() 取消正在进行的拖放操作。 |
void |
cancelLongPress() 取消待处理的长按。 |
final void |
cancelPendingInputEvents() 取消之前发布到事件队列的任何延迟高级输入事件。 |
boolean |
checkInputConnectionProxy(View view) 当非当前输入连接目标的视图试图在管理器上拨打电话时,由 |
void |
clearAnimation() 取消此视图的任何动画。 |
void |
clearFocus() 当这个观点想要放弃焦点时调用。 |
static int |
combineMeasuredStates(int curState, int newState) 合并由 |
void |
computeScroll() 由父级调用,以请求孩子在必要时更新mScrollX和mScrollY的值。 |
WindowInsets |
computeSystemWindowInsets(WindowInsets in, Rect outLocalInsets) 计算应该由这个视图消耗的插入和应该传播给它下面的插入。 |
AccessibilityNodeInfo |
createAccessibilityNodeInfo() 从 |
void |
createContextMenu(ContextMenu menu) 显示该视图的上下文菜单。 |
void |
destroyDrawingCache() 释放绘图缓存使用的资源。 |
WindowInsets |
dispatchApplyWindowInsets(WindowInsets insets) 请求将给定的窗口插件应用于此视图或其子视图中的其他视图。 |
void |
dispatchConfigurationChanged(Configuration newConfig) 在视图层次结构下分发有关资源配置更改的通知。 |
void |
dispatchDisplayHint(int hint) 发出是否显示此视图的提示。 |
boolean |
dispatchDragEvent(DragEvent event) 检测此视图是否已启用并具有拖动事件侦听器。 |
void |
dispatchDrawableHotspotChanged(float x, float y) 将drawableHotspotChanged分发给所有此View的子项。 |
void |
dispatchFinishTemporaryDetach() 如果这是一个容器视图,则向此视图及其直接子视图发送 |
boolean |
dispatchGenericMotionEvent(MotionEvent event) 派遣一般运动事件。 |
boolean |
dispatchKeyEvent(KeyEvent event) 将关键事件分派到焦点路径上的下一个视图。 |
boolean |
dispatchKeyEventPreIme(KeyEvent event) 在与视图层次关联的任何输入方法处理关键事件之前分派关键事件。 |
boolean |
dispatchKeyShortcutEvent(KeyEvent event) 分派键快捷键事件。 |
boolean |
dispatchNestedFling(float velocityX, float velocityY, boolean consumed) 向嵌套滚动父级派发一个投掷。 |
boolean |
dispatchNestedPreFling(float velocityX, float velocityY) 在此视图处理它之前,将嵌套分派给嵌套的滚动父级。 |
boolean |
dispatchNestedPrePerformAccessibilityAction(int action, Bundle arguments) 向委托处理的此视图的父母报告辅助功能操作。 |
boolean |
dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow) 在该视图消耗其任何部分之前,调度正在进行的嵌套滚动的一个步骤。 |
boolean |
dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow) 发送正在进行的嵌套滚动的一个步骤。 |
boolean |
dispatchPopulateAccessibilityEvent(AccessibilityEvent event) 首先将 |
void |
dispatchProvideStructure(ViewStructure structure) 在层次结构中调度创建 |
void |
dispatchStartTemporaryDetach() 如果这是一个容器视图,则向此视图及其直接子视图发送 |
void |
dispatchSystemUiVisibilityChanged(int visibility) 向视图层次结构调度回调到 |
boolean |
dispatchTouchEvent(MotionEvent event) 将触摸屏动作事件向下传递给目标视图,或者将此视图作为目标。 |
boolean |
dispatchTrackballEvent(MotionEvent event) 将轨迹球运动事件传递给焦点视图。 |
boolean |
dispatchUnhandledMove(View focused, int direction) 此方法是聚焦视图及其祖先响应箭头键的最后机会。 |
void |
dispatchWindowFocusChanged(boolean hasFocus) 当包含此视图的窗口获得或失去窗口焦点时调用。 |
void |
dispatchWindowSystemUiVisiblityChanged(int visible) 在视图层次结构下调度回调到 |
void |
dispatchWindowVisibilityChanged(int visibility) 向视图层次结构中分派窗口可见性更改。 |
void |
draw(Canvas canvas) 手动将此视图(及其所有子项)呈现给定的Canvas。 |
void |
drawableHotspotChanged(float x, float y) 只要视图热点更改并需要将其传播到视图管理的可绘制视图或子视图,就会调用此函数。 |
View |
findFocus() 在当前拥有焦点的此视图中植根的层次结构中查找视图。 |
final View |
findViewById(int id) 使用给定的ID查找子视图。 |
final View |
findViewWithTag(Object tag) 用给定的标签查找子视图。 |
void |
findViewsWithText(ArrayList<View> outViews, CharSequence searched, int flags) 查找包含给定文本的视图。 |
View |
focusSearch(int direction) 在指定的方向上查找可以聚焦的最近的视图。 |
void |
forceHasOverlappingRendering(boolean hasOverlappingRendering) 设置此视图重叠渲染的行为(有关此行为的更多详细信息,请参阅 |
void |
forceLayout() 强制该视图在下一个布局过程中布置。 |
static int |
generateViewId() 生成一个适用于 |
CharSequence |
getAccessibilityClassName() 返回此对象的类名称以用于辅助功能。 |
int |
getAccessibilityLiveRegion() 获取此视图的实时区域模式。 |
AccessibilityNodeProvider |
getAccessibilityNodeProvider() 获取用于管理以此视图为根的虚拟视图层次结构的提供者,并将其报告给探索窗口内容的 |
int |
getAccessibilityTraversalAfter() 获取视图的ID,之后在可访问性遍历中访问此视图的ID。 |
int |
getAccessibilityTraversalBefore() 获取在可访问性遍历中访问此视图之前的视图的ID。 |
float |
getAlpha() 视图的不透明度。 |
Animation |
getAnimation() 获取当前与此视图关联的动画。 |
IBinder |
getApplicationWindowToken() 检索标识该视图所附窗口的顶层“真实”窗口的唯一令牌。 |
Drawable |
getBackground() 获取可绘制的背景 |
ColorStateList |
getBackgroundTintList() 如果指定,返回应用于背景可绘制的色调。 |
PorterDuff.Mode |
getBackgroundTintMode() 如果指定,则返回用于将色调应用于背景可绘制的混合模式。 |
int |
getBaseline() 从小部件的顶部边界返回小部件文本基线的偏移量。 |
final int |
getBottom() 此视图的底部位置相对于其父项。 |
float |
getCameraDistance() 获取沿着Z轴从相机到该视图的距离。 |
boolean |
getClipBounds(Rect outRect) 填充的输出矩形视图的剪辑范围,返回 |
Rect |
getClipBounds() 返回当前的 |
final boolean |
getClipToOutline() 返回是否应该使用大纲剪辑视图的内容。 |
CharSequence |
getContentDescription() 返回 |
final Context |
getContext() 返回视图运行的上下文,通过它可以访问当前主题,资源等。 |
static int |
getDefaultSize(int size, int measureSpec) 实用程序返回默认大小。 |
Display |
getDisplay() 获取视图的窗口已附加到的逻辑显示。 |
final int[] |
getDrawableState() 返回表示视图当前状态的可绘制状态的资源ID数组。 |
Bitmap |
getDrawingCache() 调用此方法相当于调用 |
Bitmap |
getDrawingCache(boolean autoScale) 返回缓存此视图图形的位图。 |
int |
getDrawingCacheBackgroundColor() |
int |
getDrawingCacheQuality() 返回绘图缓存的质量。 |
void |
getDrawingRect(Rect outRect) 返回视图的可见绘图边界。 |
long |
getDrawingTime() 返回开始绘制视图层次结构的时间。 |
float |
getElevation() 此视图相对于其父项的基础高程,以像素为单位。 |
boolean |
getFilterTouchesWhenObscured() 当视图的窗口被另一个可见窗口遮挡时,获取框架是否应放弃触摸。 |
boolean |
getFitsSystemWindows() |
ArrayList<View> |
getFocusables(int direction) 查找并返回这个视图的后代的所有可聚焦视图,如果它本身是可聚焦的,则可能包括此视图。 |
void |
getFocusedRect(Rect r) 当视图具有焦点并且用户离开它时,从该方法填充的矩形开始搜索下一个视图。 |
Drawable |
getForeground() 返回用作此视图前景的绘图。 |
int |
getForegroundGravity() 描述前景如何定位。 |
ColorStateList |
getForegroundTintList() 如果指定,则返回应用于可绘制前景的色调。 |
PorterDuff.Mode |
getForegroundTintMode() 如果指定,将用于应用色调的混合模式返回到可绘制的前景。 |
final boolean |
getGlobalVisibleRect(Rect r) |
boolean |
getGlobalVisibleRect(Rect r, Point globalOffset) 如果这个视图的某个部分没有被父节点的任何部分剪切掉,那么用r全局(根)坐标返回该区域。 |
Handler |
getHandler() |
final boolean |
getHasOverlappingRendering() 返回内部使用的重叠渲染值。 |
final int |
getHeight() 返回视图的高度。 |
void |
getHitRect(Rect outRect) 在父坐标中点击矩形 |
int |
getHorizontalFadingEdgeLength() 返回用于指示此视图中更多内容可见的水平渐变边的大小。 |
int |
getId() 返回此视图的标识符。 |
int |
getImportantForAccessibility() 获取用于确定此视图是否对可访问性很重要的模式,即是否触发辅助功能事件并将其报告给查询屏幕的辅助功能服务。 |
boolean |
getKeepScreenOn() 返回屏幕是否应保持打开,对应于当前值 |
KeyEvent.DispatcherState |
getKeyDispatcherState() 为此视图的窗口返回全局 |
int |
getLabelFor() 获取视图的id,此视图用作可访问性标签。 |
int |
getLayerType() 指示当前与此视图关联的图层类型。 |
int |
getLayoutDirection() 返回此视图的已解析布局方向。 |
ViewGroup.LayoutParams |
getLayoutParams() 获取与此视图关联的LayoutParams。 |
final int |
getLeft() 此视图相对于其父项的左侧位置。 |
final boolean |
getLocalVisibleRect(Rect r) |
void |
getLocationInWindow(int[] outLocation) 在其窗口中计算此视图的坐标。 |
void |
getLocationOnScreen(int[] outLocation) 计算屏幕上该视图的坐标。 |
Matrix |
getMatrix() 该视图的变换矩阵,根据当前的旋转,缩放和透视属性进行计算。 |
final int |
getMeasuredHeight() 像 |
final int |
getMeasuredHeightAndState() 按照最近致电 |
final int |
getMeasuredState() 只返回 |
final int |
getMeasuredWidth() 像 |
final int |
getMeasuredWidthAndState() 按照最近一次对 |
int |
getMinimumHeight() 返回视图的最小高度。 |
int |
getMinimumWidth() 返回视图的最小宽度。 |
int |
getNextFocusDownId() 获取下一个焦点为 |
int |
getNextFocusForwardId() 获取下一个焦点为 |
int |
getNextFocusLeftId() 获取下一个焦点为 |
int |
getNextFocusRightId() 获取下一个焦点为 |
int |
getNextFocusUpId() 获取下一个焦点为 |
View.OnFocusChangeListener |
getOnFocusChangeListener() 返回为此视图注册的焦点更改回调。 |
ViewOutlineProvider |
getOutlineProvider() 返回视图的当前 |
int |
getOverScrollMode() 返回此视图的过卷模式。 |
ViewOverlay |
getOverlay() 返回此视图的叠加层,如果它尚不存在,则创建它。 |
int |
getPaddingBottom() 返回此视图的底部填充。 |
int |
getPaddingEnd() 根据解析后的布局方向返回此视图的结尾填充。 |
int |
getPaddingLeft() 返回此视图的左侧填充。 |
int |
getPaddingRight() 返回此视图的正确填充。 |
int |
getPaddingStart() 根据解析的布局方向返回此视图的开始填充。 |
int |
getPaddingTop() 返回此视图的顶部填充。 |
final ViewParent |
getParent() 获取此视图的父级。 |
ViewParent |
getParentForAccessibility() 获取父级的可访问性。 |
float |
getPivotX() |
float |
getPivotY() |
PointerIcon |
getPointerIcon() 获取当前视图的指针图标。 |
Resources |
getResources() 返回与此视图关联的资源。 |
final int |
getRight() 此视图相对于其父项的正确位置。 |
View |
getRootView() 在当前视图层次结构中查找最顶层的视图。 |
WindowInsets |
getRootWindowInsets() 提供调度到视图层次结构的原始WindowInsets。 |
float |
getRotation() 视图围绕枢轴点旋转的角度。 |
float |
getRotationX() 视图围绕通过枢轴点的水平轴旋转的角度。 |
float |
getRotationY() 视图围绕通过枢轴点的垂直轴旋转的角度。 |
float |
getScaleX() 视图以x为中心在视点的未缩放宽度中的比例绕x轴缩放。 |
float |
getScaleY() 视图在y轴周围缩放的数量,作为视图未缩放高度的一部分。 |
int |
getScrollBarDefaultDelayBeforeFade() 返回滚动条淡入之前的延迟。 |
int |
getScrollBarFadeDuration() 返回滚动条淡入时间。 |
int |
getScrollBarSize() 返回滚动条大小。 |
int |
getScrollBarStyle() 返回当前的滚动条样式。 |
int |
getScrollIndicators() 返回表示启用的滚动指示符的位掩码。 |
final int |
getScrollX() 返回此视图的滚动左侧位置。 |
final int |
getScrollY() 返回此视图的滚动顶部位置。 |
int |
getSolidColor() 如果已知视图始终在纯色背景上绘制,并需要绘制渐变边缘,则覆盖此视图。 |
StateListAnimator |
getStateListAnimator() 如果存在,则返回当前的StateListAnimator。 |
int |
getSystemUiVisibility() 返回此视图请求的最后 |
Object |
getTag() 返回此视图的标记。 |
Object |
getTag(int key) 返回与此视图和指定键相关联的标记。 |
int |
getTextAlignment() 返回已解析的文本对齐。 |
int |
getTextDirection() 返回已解析的文本方向。 |
final int |
getTop() 此视图相对于其父项的顶部位置。 |
TouchDelegate |
getTouchDelegate() 获取此视图的TouchDelegate。 |
ArrayList<View> |
getTouchables() 查找并返回所有这个视图后代的可触摸视图,如果它可以自己触摸,可能会包含此视图。 |
String |
getTransitionName() 返回用于在转换中标识视图的视图的名称。 |
float |
getTranslationX() 此视图的水平位置相对于其 |
float |
getTranslationY() 此视图的垂直位置相对于其 |
float |
getTranslationZ() 该视图的深度位置相对于其 |
int |
getVerticalFadingEdgeLength() 返回用于指示此视图中更多内容可见的垂直渐变边的大小。 |
int |
getVerticalScrollbarPosition() |
int |
getVerticalScrollbarWidth() 返回垂直滚动条的宽度。 |
ViewTreeObserver |
getViewTreeObserver() 返回此视图层次结构的ViewTreeObserver。 |
int |
getVisibility() 返回此视图的可见性状态。 |
final int |
getWidth() 返回你的视图的宽度。 |
WindowId |
getWindowId() 检索此视图当前附加到的窗口的 |
int |
getWindowSystemUiVisibility() 返回当前为整个窗口设置的系统UI可见性。 |
IBinder |
getWindowToken() 检索标识该视图附加到的窗口的唯一标记。 |
int |
getWindowVisibility() |
void |
getWindowVisibleDisplayFrame(Rect outRect) 检索此视图附加到的窗口的总体可见显示大小已定位。 |
float |
getX() 此视图的视觉x位置,以像素为单位。 |
float |
getY() 此视图的视觉y位置(以像素为单位)。 |
float |
getZ() 此视图的可视z位置,以像素为单位。 |
boolean |
hasFocus() 如果此视图具有焦点本身,或者是具有焦点的视图的祖先,则返回true。 |
boolean |
hasFocusable() 如果此视图是可聚焦的,或者它包含可访问的视图, |
boolean |
hasNestedScrollingParent() 如果此视图具有嵌套滚动父级,则返回true。 |
boolean |
hasOnClickListeners() 返回此视图是否具有附加的OnClickListener。 |
boolean |
hasOverlappingRendering() 返回此视图是否包含重叠的内容。 |
boolean |
hasTransientState() 指示视图当前是否跟踪暂时状态,即应用程序不需要关心保存和还原,但是框架应该特别注意在可能的情况下保留。 |
boolean |
hasWindowFocus() 如果此视图位于当前具有窗口焦点的窗口中,则返回true。 |
static View |
inflate(Context context, int resource, ViewGroup root) 从XML资源膨胀一个视图。 |
void |
invalidate() 使整个视图无效。 |
void |
invalidate(Rect dirty) 将由脏定义的区域标记为需要绘制。 |
void |
invalidate(int l, int t, int r, int b) 将由矩形(l,t,r,b)定义的区域标记为需要绘制。 |
void |
invalidateDrawable(Drawable drawable) 使指定的Drawable无效。 |
void |
invalidateOutline() 从 |
boolean |
isAccessibilityFocused() 返回此视图是否以可访问性为重点。 |
boolean |
isActivated() 指示此视图的激活状态。 |
boolean |
isAttachedToWindow() 如果此视图当前附加到窗口,则返回true。 |
boolean |
isClickable() 指示此视图是否对点击事件做出反应。 |
boolean |
isContextClickable() 指示此视图是否对上下文点击作出反应。 |
boolean |
isDirty() 如果此视图自上次绘制以来发生更改,则为真。 |
boolean |
isDrawingCacheEnabled() 指示是否为此视图启用图形缓存。 |
boolean |
isDuplicateParentStateEnabled() 指示这是否从其父项复制其可绘制状态。 |
boolean |
isEnabled() 返回此视图的启用状态。 |
final boolean |
isFocusable() 返回此视图是否能够获得焦点。 |
final boolean |
isFocusableInTouchMode() 当视图可以聚焦时,它可能不想在触摸模式下进行聚焦。 |
boolean |
isFocused() 如果此视图具有焦点,则返回true |
boolean |
isHapticFeedbackEnabled() |
boolean |
isHardwareAccelerated() 指示此视图是否附加到硬件加速窗口。 |
boolean |
isHorizontalFadingEdgeEnabled() 指示水平滚动视图时水平边缘是否淡化。 |
boolean |
isHorizontalScrollBarEnabled() 指示是否绘制水平滚动条。 |
boolean |
isHovered() 如果视图当前处于悬停状态,则返回true。 |
boolean |
isImportantForAccessibility() 计算是否应该公开此视图以获取可访问性。 |
boolean |
isInEditMode() 指示此视图当前是否处于编辑模式。 |
boolean |
isInLayout() 返回视图层次结构当前是否正在进行布局传递。 |
boolean |
isInTouchMode() 返回设备当前是否处于触摸模式。 |
boolean |
isLaidOut() 如果此视图自上次连接到窗口或从窗口分离后至少经历了一个布局,则返回true。 |
boolean |
isLayoutDirectionResolved() |
boolean |
isLayoutRequested() 指示是否在下一个层次结构布局过程中请求此视图的布局。 |
boolean |
isLongClickable() 指示此视图是否对长按事件作出反应。 |
boolean |
isNestedScrollingEnabled() 如果对此视图启用嵌套滚动,则返回true。 |
boolean |
isOpaque() 指示此视图是否不透明。 |
boolean |
isPaddingRelative() 如果通过相对值 |
boolean |
isPressed() 指示视图当前是否处于按下状态。 |
boolean |
isSaveEnabled() 指示此视图是否将保存其状态(即,是否调用其 |
boolean |
isSaveFromParentEnabled() 指示当从父级发生状态保存遍历时,此视图下的整个层次结构是否将保存其状态。 |
boolean |
isScrollContainer() 指示此视图是否是其窗口中的一组可滚动容器。 |
boolean |
isScrollbarFadingEnabled() 当该视图不滚动时,如果滚动条将淡出,则返回true |
boolean |
isSelected() 指示此视图的选择状态。 |
boolean |
isShown() 返回此视图及其所有祖先的可见性 |
boolean |
isSoundEffectsEnabled() |
final boolean |
isTemporarilyDetached() |
boolean |
isTextAlignmentResolved() |
boolean |
isTextDirectionResolved() |
boolean |
isVerticalFadingEdgeEnabled() 指示当视图水平滚动时垂直边缘是否渐变。 |
boolean |
isVerticalScrollBarEnabled() 指示是否应绘制垂直滚动条。 |
void |
jumpDrawablesToCurrentState() 在与此视图关联的所有可绘制对象上调用 |
void |
layout(int l, int t, int r, int b) 为视图及其所有后代指定大小和位置 这是布局机制的第二阶段。 |
final void |
measure(int widthMeasureSpec, int heightMeasureSpec) 这被称为找出多大的观点应该是。 |
void |
offsetLeftAndRight(int offset) 按指定的像素数量偏移此视图的水平位置。 |
void |
offsetTopAndBottom(int offset) 将此视图的垂直位置偏移指定的像素数。 |
WindowInsets |
onApplyWindowInsets(WindowInsets insets) 根据其内部政策,视图应适用 |
void |
onCancelPendingInputEvents() 作为在此视图或父视图上致电 |
boolean |
onCheckIsTextEditor() 检查被调用的视图是否是文本编辑器,在这种情况下,为其自动显示软输入窗口是有意义的。 |
InputConnection |
onCreateInputConnection(EditorInfo outAttrs) 为InputMethod创建一个新的InputConnection以与视图交互。 |
boolean |
onDragEvent(DragEvent event) 在调用 |
void |
onDrawForeground(Canvas canvas) 为此视图绘制任何前景内容。 |
boolean |
onFilterTouchEventForSecurity(MotionEvent event) 过滤触摸事件以应用安全策略。 |
void |
onFinishTemporaryDetach() 当容器完成更改视图后,调用 |
boolean |
onGenericMotionEvent(MotionEvent event) 实现此方法来处理通用运动事件。 |
void |
onHoverChanged(boolean hovered) 实现此方法来处理悬停状态更改。 |
boolean |
onHoverEvent(MotionEvent event) 实现此方法来处理悬停事件。 |
void |
onInitializeAccessibilityEvent(AccessibilityEvent event) 使用有关此视图的信息初始化 |
void |
onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) 使用关于此视图的信息初始化 |
boolean |
onKeyDown(int keyCode, KeyEvent event) 默认实现 |
boolean |
onKeyLongPress(int keyCode, KeyEvent event) 默认实现 |
boolean |
onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) 默认实现 |
boolean |
onKeyPreIme(int keyCode, KeyEvent event) 在关键事件由与视图层次关联的任何输入方法处理之前处理。 |
boolean |
onKeyShortcut(int keyCode, KeyEvent event) 在未处理按键快捷方式事件时调用聚焦视图。 |
boolean |
onKeyUp(int keyCode, KeyEvent event) 的默认实现 |
void |
onPopulateAccessibilityEvent(AccessibilityEvent event) 从 |
void |
onProvideStructure(ViewStructure structure) 作为 |
void |
onProvideVirtualStructure(ViewStructure structure) 当从视图中检索辅助结构作为 |
PointerIcon |
onResolvePointerIcon(MotionEvent event, int pointerIndex) 返回运动事件的指针图标;如果未指定图标,则返回null。 |
void |
onRtlPropertiesChanged(int layoutDirection) 当任何RTL属性(布局方向或文本方向或文本对齐)已被更改时调用。 |
void |
onScreenStateChanged(int screenState) 只要此视图的屏幕状态附加到更改,就会调用此方法。 |
void |
onStartTemporaryDetach() 当一个容器临时将一个孩子分开时,这被称为 |
boolean |
onTouchEvent(MotionEvent event) 实现此方法来处理触摸屏幕动作事件。 |
boolean |
onTrackballEvent(MotionEvent event) 实现这个方法来处理轨迹球运动事件。 |
void |
onVisibilityAggregated(boolean isVisible) 当此视图的用户可见性可能受到对此视图本身,祖先视图或此视图所附窗口的更改的影响时调用。 |
void |
onWindowFocusChanged(boolean hasWindowFocus) 当包含此视图的窗口获得或失去焦点时调用。 |
void |
onWindowSystemUiVisibilityChanged(int visible) 重写以查明窗口请求的系统UI可见性更改的时间,即 |
boolean |
performAccessibilityAction(int action, Bundle arguments) 在视图上执行指定的辅助功能操作。 |
boolean |
performClick() 调用此视图的OnClickListener(如果已定义)。 |
boolean |
performContextClick(float x, float y) 调用此视图的OnContextClickListener(如果已定义)。 |
boolean |
performContextClick() 调用此视图的OnContextClickListener(如果已定义)。 |
boolean |
performHapticFeedback(int feedbackConstant) BZZZTT !! 1! 为此视图提供触觉反馈给用户。 |
boolean |
performHapticFeedback(int feedbackConstant, int flags) BZZZTT !! 1! 像 |
boolean |
performLongClick(float x, float y) 调用此视图的OnLongClickListener(如果已定义)。 |
boolean |
performLongClick() 调用此视图的OnLongClickListener(如果已定义)。 |
void |
playSoundEffect(int soundConstant) 发挥这个观点的声音效果。 |
boolean |
post(Runnable action) 导致Runnable被添加到消息队列中。 |
boolean |
postDelayed(Runnable action, long delayMillis) 导致Runnable被添加到消息队列中,以在指定的时间过去后运行。 |
void |
postInvalidate() 导致在事件循环的后续循环中发生无效。 |
void |
postInvalidate(int left, int top, int right, int bottom) 导致指定区域在事件循环的后续循环中发生无效。 |
void |
postInvalidateDelayed(long delayMilliseconds, int left, int top, int right, int bottom) 导致指定区域在事件循环的后续循环中发生无效。 |
void |
postInvalidateDelayed(long delayMilliseconds) 导致在事件循环的后续循环中发生无效。 |
void |
postInvalidateOnAnimation(int left, int top, int right, int bottom) 导致指定区域在下一个动画时间步骤失效,通常是下一个显示帧。 |
void |
postInvalidateOnAnimation() 导致在下一个动画时间步骤发生无效,通常是下一个显示帧。 |
void |
postOnAnimation(Runnable action) 使Runnable在下一个动画时间步骤上执行。 |
void |
postOnAnimationDelayed(Runnable action, long delayMillis) 导致Runnable在指定的时间过后,在下一个动画时间步骤执行。 |
void |
refreshDrawableState() 调用它来强制视图更新其可绘制状态。 |
boolean |
removeCallbacks(Runnable action) 从消息队列中删除指定的Runnable。 |
void |
removeOnAttachStateChangeListener(View.OnAttachStateChangeListener listener) 删除附加状态更改的侦听器。 |
void |
removeOnLayoutChangeListener(View.OnLayoutChangeListener listener) 删除布局更改的侦听器。 |
void |
requestApplyInsets() 请求执行 |
void |
requestFitSystemWindows() 此方法在API级别20中已弃用。对于较新的平台版本,请使用 |
final boolean |
requestFocus(int direction) 调用此方法试图将焦点放在特定的视图或其后面的某个子视图上,并为焦点的方向提供一个提示。 |
final boolean |
requestFocus() 调用这个来试图将焦点放在特定的视图或其后代之一上。 |
boolean |
requestFocus(int direction, Rect previouslyFocusedRect) 调用此方法可试图将焦点放在特定视图或其后面的某个子视图上,并提供关于焦点来自的方向和特定矩形的提示。 |
final boolean |
requestFocusFromTouch() 调用这个来试图将焦点放在特定的视图或其后代之一上。 |
void |
requestLayout() 当事情发生变化时调用它,这已经使这个视图的布局无效。 |
boolean |
requestRectangleOnScreen(Rect rectangle) 要求在屏幕上可以看到这个视图的矩形,如果有必要的话可以滚动。 |
boolean |
requestRectangleOnScreen(Rect rectangle, boolean immediate) 要求在屏幕上可以看到这个视图的矩形,如果有必要的话可以滚动。 |
final void |
requestUnbufferedDispatch(MotionEvent event) 请求无缓冲地将给定的MotionEvents流分派给此视图。 |
static int |
resolveSize(int size, int measureSpec) 版本 |
static int |
resolveSizeAndState(int size, int measureSpec, int childMeasuredState) 用于协调所需大小和状态的实用程序,以及MeasureSpec强加的约束。 |
void |
restoreHierarchyState(SparseArray<Parcelable> container) 从给定的容器中恢复此视图层次结构的冻结状态。 |
void |
saveHierarchyState(SparseArray<Parcelable> container) 将此视图层次结构的冻结状态存储到给定的容器中。 |
void |
scheduleDrawable(Drawable who, Runnable what, long when) 安排一个drawable上的动作在指定的时间发生。 |
void |
scrollBy(int x, int y) 移动视图的滚动位置。 |
void |
scrollTo(int x, int y) 设置视图的滚动位置。 |
void |
sendAccessibilityEvent(int eventType) 发送给定类型的可访问性事件。 |
void |
sendAccessibilityEventUnchecked(AccessibilityEvent event) 此方法的行为与 |
void |
setAccessibilityDelegate(View.AccessibilityDelegate delegate) 通过组合设置实现可访问性支持的委托(与继承相反)。 |
void |
setAccessibilityLiveRegion(int mode) 为此视图设置实时区域模式。 |
void |
setAccessibilityTraversalAfter(int afterId) 在可访问性遍历中设置一个视图的ID,在该视图之后访问此视图的ID。 |
void |
setAccessibilityTraversalBefore(int beforeId) 设置在可访问性遍历中访问此视图之前的视图的标识。 |
void |
setActivated(boolean activated) 更改此视图的激活状态。 |
void |
setAlpha(float alpha) 将视图的不透明度设置为0到1的值,其中0表示视图完全透明,1表示视图完全不透明。 |
void |
setAnimation(Animation animation) 设置要为此视图播放的下一个动画。 |
void |
setBackground(Drawable background) 将背景设置为给定的Drawable,或者删除背景。 |
void |
setBackgroundColor(int color) 设置此视图的背景颜色。 |
void |
setBackgroundDrawable(Drawable background) 此方法在API级别16中已弃用。 |
void |
setBackgroundResource(int resid) 将背景设置为给定的资源。 |
void |
setBackgroundTintList(ColorStateList tint) 将背景色应用于背景。 |
void |
setBackgroundTintMode(PorterDuff.Mode tintMode) 指定用于将 |
final void |
setBottom(int bottom) 设置此视图相对于其父项的底部位置。 |
void |
setCameraDistance(float distance) 将摄像机沿Z轴(与绘制视图的X / Y平面正交)的距离设置为此视图。 |
void |
setClickable(boolean clickable) 启用或停用此视图的点击事件。 |
void |
setClipBounds(Rect clipBounds) 在该视图上设置矩形区域,视图在绘制时将被裁剪到该区域。 |
void |
setClipToOutline(boolean clipToOutline) 设置是否应该使用视图的大纲剪辑视图的内容。 |
void |
setContentDescription(CharSequence contentDescription) 设置 |
void |
setContextClickable(boolean contextClickable) 为此视图启用或禁用上下文点击。 |
void |
setDrawingCacheBackgroundColor(int color) 为绘图缓存的位图设置纯色背景可以提高性能和内存使用率。 |
void |
setDrawingCacheEnabled(boolean enabled) 启用或禁用图形缓存。 |
void |
setDrawingCacheQuality(int quality) 设置此视图的图形缓存质量。 |
void |
setDuplicateParentStateEnabled(boolean enabled) 在此视图中启用或禁用父级状态的重复。 |
void |
setElevation(float elevation) 设置此视图的基本高程(以像素为单位)。 |
void |
setEnabled(boolean enabled) 设置此视图的启用状态。 |
void |
setFadingEdgeLength(int length) 设置用于指示此视图中有更多内容可用的褪色边的大小。 |
void |
setFilterTouchesWhenObscured(boolean enabled) 设置当视图的窗口被另一个可见窗口遮挡时,框架是否应放弃触摸。 |
void |
setFitsSystemWindows(boolean fitSystemWindows) 设置此视图是否应考虑系统屏幕装饰(如状态栏和插入其内容); 即控制是否执行 |
void |
setFocusable(boolean focusable) 设置此视图是否可以获得焦点。 |
void |
setFocusableInTouchMode(boolean focusableInTouchMode) 设置此视图是否可以在触摸模式下获得焦点。 |
void |
setForeground(Drawable foreground) 提供要在视图中的所有内容之上呈现的Drawable。 |
void |
setForegroundGravity(int gravity) 描述前景如何定位。 |
void |
setForegroundTintList(ColorStateList tint) 将前景应用于可绘制的前景。 |
void |
setForegroundTintMode(PorterDuff.Mode tintMode) 指定用于将 |
void |
setHapticFeedbackEnabled(boolean hapticFeedbackEnabled) 设置此视图是否应该针对长按等事件提供触觉反馈。 |
void |
setHasTransientState(boolean hasTransientState) 设置此视图是否正在跟踪框架应尽可能保留的暂时状态。 |
void |
setHorizontalFadingEdgeEnabled(boolean horizontalFadingEdgeEnabled) 定义此视图水平滚动时是否应淡化水平边缘。 |
void |
setHorizontalScrollBarEnabled(boolean horizontalScrollBarEnabled) 定义是否绘制水平滚动条。 |
void |
setHovered(boolean hovered) 设置视图当前是否被徘徊。 |
void |
setId(int id) 设置此视图的标识符。 |
void |
setImportantForAccessibility(int mode) 设置如何确定此视图是否对可访问性很重要,即如果它触发辅助功能事件并将其报告给查询屏幕的辅助功能服务。 |
void |
setKeepScreenOn(boolean keepScreenOn) 控制屏幕是否保持打开状态,修改值 |
void |
setLabelFor(int id) 将此视图用作可访问性标签的视图的标识。 |
void |
setLayerPaint(Paint paint) 更新与当前图层一起使用的 |
void |
setLayerType(int layerType, Paint paint) 指定支持此视图的图层的类型。 |
void |
setLayoutDirection(int layoutDirection) 为此视图设置布局方向。 |
void |
setLayoutParams(ViewGroup.LayoutParams params) 设置与此视图关联的布局参数。 |
final void |
setLeft(int left) 设置此视图相对于其父项的左侧位置。 |
void |
setLongClickable(boolean longClickable) 为此视图启用或禁用长时间点击事件。 |
void |
setMinimumHeight(int minHeight) 设置视图的最小高度。 |
void |
setMinimumWidth(int minWidth) 设置视图的最小宽度。 |
void |
setNestedScrollingEnabled(boolean enabled) 启用或禁用此视图的嵌套滚动。 |
void |
setNextFocusDownId(int nextFocusDownId) 设置下一个焦点为 |
void |
setNextFocusForwardId(int nextFocusForwardId) 设置下一个焦点为 |
void |
setNextFocusLeftId(int nextFocusLeftId) 设置下一个焦点为 |
void |
setNextFocusRightId(int nextFocusRightId) 设置下一个焦点为 |
void |
setNextFocusUpId(int nextFocusUpId) 设置下一个焦点为 |
void |
setOnApplyWindowInsetsListener(View.OnApplyWindowInsetsListener listener) 设置一个 |
void |
setOnClickListener(View.OnClickListener l) 单击此视图时注册要调用的回调。 |
void |
setOnContextClickListener(View.OnContextClickListener l) 单击上下文时注册要调用的回调。 |
void |
setOnCreateContextMenuListener(View.OnCreateContextMenuListener l) 当正在构建此视图的上下文菜单时,注册要调用的回调。 |
void |
setOnDragListener(View.OnDragListener l) 为此视图注册拖动事件侦听器回调对象。 |
void |
setOnFocusChangeListener(View.OnFocusChangeListener l) 注册一个回调,当这个视图的焦点改变时被调用。 |
void |
setOnGenericMotionListener(View.OnGenericMotionListener l) 当通用运动事件被发送到这个视图时,注册一个回调被调用。 |
void |
setOnHoverListener(View.OnHoverListener l) 将悬停事件发送到此视图时注册要调用的回调。 |
void |
setOnKeyListener(View.OnKeyListener l) 在此视图中按下硬件按键时注册要调用的回调。 |
void |
setOnLongClickListener(View.OnLongClickListener l) 当单击并保持此视图时,注册要调用的回调。 |
void |
setOnScrollChangeListener(View.OnScrollChangeListener l) 当此视图的滚动X或Y位置更改时,注册一个要调用的回调。 |
void |
setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener l) 设置监听器以在系统栏可见性更改时接收回调。 |
void |
setOnTouchListener(View.OnTouchListener l) 当触摸事件发送到此视图时,注册要调用的回调。 |
void |
setOutlineProvider(ViewOutlineProvider provider) 设置视图的 |
void |
setOverScrollMode(int overScrollMode) 为此视图设置过卷模式。 |
void |
setPadding(int left, int top, int right, int bottom) 设置填充。 |
void |
setPaddingRelative(int start, int top, int end, int bottom) 设置相对填充。 |
void |
setPivotX(float pivotX) |
void |
setPivotY(float pivotY) |
void |
setPointerIcon(PointerIcon pointerIcon) 设置当前视图的指针图标。 |
void |
setPressed(boolean pressed) 设置此视图的按下状态。 |
final void |
setRight(int right) 设置此视图相对于其父项的正确位置。 |
void |
setRotation(float rotation) 设置视图围绕枢轴点旋转的角度。 |
void |
setRotationX(float rotationX) 设置视图通过枢轴点围绕水平轴旋转的角度。 |
void |
setRotationY(float rotationY) 设置视图围绕通过枢轴点的垂直轴旋转的角度。 |
void |
setSaveEnabled(boolean enabled) 控制是否启用保存此视图的状态(即,是否调用其 |
void |
setSaveFromParentEnabled(boolean enabled) 控制此视图下的整个层次结构是否会在其父级发生状态保存遍历时保存其状态。 |
void |
setScaleX(float scaleX) 以视图的未缩放宽度的比例设置视图在x轴周围按比例缩放的量。 |
void |
setScaleY(float scaleY) 以视图的未缩放宽度的比例设置视图在Y轴周围缩放的量。 |
void |
setScrollBarDefaultDelayBeforeFade(int scrollBarDefaultDelayBeforeFade) 定义滚动条淡出之前的延迟。 |
void |
setScrollBarFadeDuration(int scrollBarFadeDuration) 定义滚动条淡入时间。 |
void |
setScrollBarSize(int scrollBarSize) 定义滚动条的大小。 |
void |
setScrollBarStyle(int style) 指定滚动条的样式。 |
void |
setScrollContainer(boolean isScrollContainer) 更改此视图是否是其窗口中的一组可滚动容器。 |
void |
setScrollIndicators(int indicators, int mask) 设置由蒙版指定的滚动指示器的状态。 |
void |
setScrollIndicators(int indicators) 设置所有滚动指示器的状态。 |
void |
setScrollX(int value) 设置视图的水平滚动位置。 |
void |
setScrollY(int value) 设置视图的垂直滚动位置。 |
void |
setScrollbarFadingEnabled(boolean fadeScrollbars) 定义视图不滚动时滚动条是否会淡入淡出。 |
void |
setSelected(boolean selected) 更改此视图的选择状态。 |
void |
setSoundEffectsEnabled(boolean soundEffectsEnabled) 设置此视图是否应该为点击和触摸等事件启用声音效果。 |
void |
setStateListAnimator(StateListAnimator stateListAnimator) 将提供的StateListAnimator附加到此视图。 |
void |
setSystemUiVisibility(int visibility) 要求更改状态栏或其他屏幕/窗口装饰的可见性。 |
void |
setTag(int key, Object tag) 设置与此视图和密钥关联的标签。 |
void |
setTag(Object tag) 设置与此视图关联的标签。 |
void |
setTextAlignment(int textAlignment) 设置文本对齐。 |
void |
setTextDirection(int textDirection) 设置文字方向。 |
final void |
setTop(int top) 设置此视图相对于其父项的顶部位置。 |
void |
setTouchDelegate(TouchDelegate delegate) 为此视图设置TouchDelegate。 |
final void |
setTransitionName(String transitionName) 设置用于识别转场中的视图的视图的名称。 |
void |
setTranslationX(float translationX) 设置此视图相对于其 |
void |
setTranslationY(float translationY) 设置此视图相对于其 |
void |
setTranslationZ(float translationZ) 设置此视图相对于其 |
void |
setVerticalFadingEdgeEnabled(boolean verticalFadingEdgeEnabled) 定义此视图垂直滚动时是否应褪色垂直边缘。 |
void |
setVerticalScrollBarEnabled(boolean verticalScrollBarEnabled) 定义是否应绘制垂直滚动条。 |
void |
setVerticalScrollbarPosition(int position) 设置垂直滚动条的位置。 |
void |
setVisibility(int visibility) 设置此视图的启用状态。 |
void |
setWillNotCacheDrawing(boolean willNotCacheDrawing) 当视图的绘图缓存启用时,绘图将重定向到离屏位图。 |
void |
setWillNotDraw(boolean willNotDraw) 如果此视图本身不执行任何绘制,请设置此标记以允许进一步优化。 |
void |
setX(float x) 设置此视图的视觉x位置(以像素为单位)。 |
void |
setY(float y) 设置此视图的可视y位置(以像素为单位)。 |
void |
setZ(float z) 设置此视图的可视z位置,以像素为单位。 |
boolean |
showContextMenu() 显示该视图的上下文菜单。 |
boolean |
showContextMenu(float x, float y) 显示锚定到指定视图相对坐标的此视图的上下文菜单。 |
ActionMode |
startActionMode(ActionMode.Callback callback, int type) 用给定的类型启动一个动作模式。 |
ActionMode |
startActionMode(ActionMode.Callback callback) 启动默认类型为 |
void |
startAnimation(Animation animation) 现在开始指定的动画。 |
final boolean |
startDrag(ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags) 此方法在API级别24中已弃用。对于较新的平台版本,请使用 |
final boolean |
startDragAndDrop(ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags) 开始拖放操作。 |
boolean |
startNestedScroll(int axes) 沿给定轴开始可嵌套滚动操作。 |
void |
stopNestedScroll() 停止正在进行的嵌套滚动。 |
String |
toString() 返回对象的字符串表示形式。 |
void |
unscheduleDrawable(Drawable who, Runnable what) 取消可绘制的预定动作。 |
void |
unscheduleDrawable(Drawable who) 取消调度与给定Drawable关联的任何事件。 |
final void |
updateDragShadow(View.DragShadowBuilder shadowBuilder) 更新正在进行的拖放操作的拖影。 |
boolean |
willNotCacheDrawing() 返回此视图是否可以缓存其绘图。 |
boolean |
willNotDraw() 返回此视图是否自行绘制。 |
Protected methods |
|
---|---|
boolean |
awakenScrollBars(int startDelay, boolean invalidate) 触发滚动条绘制。 |
boolean |
awakenScrollBars(int startDelay) 触发滚动条绘制。 |
boolean |
awakenScrollBars() 触发滚动条绘制。 |
int |
computeHorizontalScrollExtent() 计算水平滚动条拇指在水平范围内的水平范围。 |
int |
computeHorizontalScrollOffset() 计算水平滚动条拇指在水平范围内的水平偏移量。 |
int |
computeHorizontalScrollRange() 计算水平滚动条代表的水平范围。 |
int |
computeVerticalScrollExtent() 计算垂直滚动条拇指在垂直范围内的垂直范围。 |
int |
computeVerticalScrollOffset() 计算垂直滚动条拇指在水平范围内的垂直偏移量。 |
int |
computeVerticalScrollRange() 计算垂直滚动条代表的垂直范围。 |
void |
dispatchDraw(Canvas canvas) 通过绘制来绘制子视图。 |
boolean |
dispatchGenericFocusedEvent(MotionEvent event) 将通用运动事件分派给当前的焦点视图。 |
boolean |
dispatchGenericPointerEvent(MotionEvent event) 将通用运动事件分配给第一个指针下的视图。 |
boolean |
dispatchHoverEvent(MotionEvent event) 发送悬停事件。 |
void |
dispatchRestoreInstanceState(SparseArray<Parcelable> container) 由 |
void |
dispatchSaveInstanceState(SparseArray<Parcelable> container) 由 |
void |
dispatchSetActivated(boolean activated) 派发setActivated给所有这个View的孩子。 |
void |
dispatchSetPressed(boolean pressed) 派发setPressed给所有这个View的孩子。 |
void |
dispatchSetSelected(boolean selected) 调度setSelected选择到所有这个View的孩子。 |
void |
dispatchVisibilityChanged(View changedView, int visibility) 向视图层次结构分派视图可见性更改。 |
void |
drawableStateChanged() 只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。 |
boolean |
fitSystemWindows(Rect insets) 此方法在API级别20中已弃用。从API 20开始,使用 |
float |
getBottomFadingEdgeStrength() 返回底部渐变边的强度或强度。 |
int |
getBottomPaddingOffset() 扩展底部衰落区域的数量。 |
ContextMenu.ContextMenuInfo |
getContextMenuInfo() 视图应该实现这个,如果他们有额外的信息与上下文菜单相关联。 |
int |
getHorizontalScrollbarHeight() 返回水平滚动条的高度。 |
float |
getLeftFadingEdgeStrength() 返回左边渐变边的强度或强度。 |
int |
getLeftPaddingOffset() 扩展左衰落区域的量。 |
float |
getRightFadingEdgeStrength() 返回右边褪色边缘的强度或强度。 |
int |
getRightPaddingOffset() 扩展正确衰落区域的数量。 |
int |
getSuggestedMinimumHeight() 返回视图应该使用的建议最小高度。 |
int |
getSuggestedMinimumWidth() 返回视图应该使用的建议最小宽度。 |
float |
getTopFadingEdgeStrength() 返回顶部褪色边缘的强度或强度。 |
int |
getTopPaddingOffset() 扩大最大衰落区域的数量。 |
int |
getWindowAttachCount() |
boolean |
isPaddingOffsetRequired() 如果视图在其填充内绘制内容并启用淡化边缘,则需要支持填充偏移。 |
static int[] |
mergeDrawableStates(int[] baseState, int[] additionalState) 将 additionalState中的自己的状态值合并到由 |
void |
onAnimationEnd() 由父ViewGroup调用,以通知当前与此视图关联的动画结束。 |
void |
onAnimationStart() 由父ViewGroup调用以通知当前与此视图关联的动画的开始。 |
void |
onAttachedToWindow() 这在视图附加到窗口时被调用。 |
void |
onConfigurationChanged(Configuration newConfig) 当应用程序使用的资源的当前配置发生更改时调用。 |
void |
onCreateContextMenu(ContextMenu menu) 如果视图本身要将项目添加到上下文菜单,则视图应该执行此操作。 |
int[] |
onCreateDrawableState(int extraSpace) 为此视图生成新的 |
void |
onDetachedFromWindow() 这是在视图从窗口分离时调用的。 |
void |
onDisplayHint(int hint) 给出这个观点暗示是否显示。 |
void |
onDraw(Canvas canvas) 实施这个来做你的绘画。 |
final void |
onDrawScrollBars(Canvas canvas) 请求水平和垂直滚动条的绘制。 |
void |
onFinishInflate() 最终确定从XML扩展视图。 |
void |
onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) 当视图的焦点状态改变时,由视图系统调用。 |
void |
onLayout(boolean changed, int left, int top, int right, int bottom) 当这个视图为每个孩子分配一个大小和位置时,从布局调用。 |
void |
onMeasure(int widthMeasureSpec, int heightMeasureSpec) 测量视图及其内容以确定测量宽度和测量高度。 |
void |
onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) 由 |
void |
onRestoreInstanceState(Parcelable state) 吊钩允许视图重新应用以前由 |
Parcelable |
onSaveInstanceState() 钩子允许视图生成其内部状态的表示,稍后可用于创建具有相同状态的新实例。 |
void |
onScrollChanged(int l, int t, int oldl, int oldt) 这是为了响应此视图中的内部滚动而调用的(即视图滚动了其自己的内容)。 |
boolean |
onSetAlpha(int alpha) 如果存在涉及alpha的变换,则调用。 |
void |
onSizeChanged(int w, int h, int oldw, int oldh) 当这个视图的大小发生变化时,这在布局期间被调用。 |
void |
onVisibilityChanged(View changedView, int visibility) 当视图的可见性或视图的祖先已更改时调用。 |
void |
onWindowVisibilityChanged(int visibility) |
boolean |
overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) 使用标准行为滚动视图以滚动到正常内容边界之外。 |
final void |
setMeasuredDimension(int measuredWidth, int measuredHeight) 该方法必须由 |
boolean |
verifyDrawable(Drawable who) 如果你的视图子类正在显示它自己的Drawable对象,它应该覆盖这个函数,并且对于它显示的任何Drawable返回true。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.graphics.drawable.Drawable.Callback
|
|
From interface android.view.KeyEvent.Callback
|
|
From interface android.view.accessibility.AccessibilityEventSource
|
指示无障碍服务是否应在此视图更改时通知用户。
可能是一个整数值,如“ 100
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
可能是以下常数值之一。
Constant | Value | 描述 |
---|---|---|
none |
0 | Accessibility services should not announce changes to this view. |
polite |
1 | Accessibility services should announce changes to this view. |
assertive |
2 | Accessibility services should interrupt ongoing speech to immediately announce changes to this view. |
这对应于全局属性资源符号 accessibilityLiveRegion
。
相关方法:
在可访问性遍历中设置一个视图的ID,在该视图之后访问此视图的ID。 屏幕阅读器必须在此内容之前访问其他视图的内容。
相关方法:
设置在可访问性遍历中访问此视图之前的视图的标识。 屏幕阅读器必须在它前面的内容之前访问该视图的内容。
相关方法:
视图的alpha属性,为0(完全透明)和1(完全不透明)之间的值。
必须是浮点值,例如“ 1.2
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 alpha
。
相关方法:
作为背景使用的drawable。 这可以是对完整可绘制资源(如PNG图像,9补丁,XML状态列表描述等)的引用,也可以是诸如“#ff000000”(黑色)等纯色。
可能是另一种资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
可以是“ #rgb
”,“ #argb
”,“ #rrggbb
”或“ #aarrggbb
”形式的颜色值。
这对应于全局属性资源符号 background
。
相关方法:
色调适用于背景。
必须是“ #rgb
”,“ #argb
”,“ #rrggbb
”或“ #aarrggbb
”形式的颜色值。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 backgroundTint
。
相关方法:
混合模式用于应用背景色调。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
src_over |
3 | The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] |
src_in |
5 | The tint is masked by the alpha channel of the drawable. The drawable’s color channels are thrown out. [Sa * Da, Sc * Da] |
src_atop |
9 | The tint is drawn above the drawable, but with the drawable’s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] |
multiply |
14 | Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc] |
screen |
15 | [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] |
add |
16 | Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D) |
这对应于全局属性资源符号 backgroundTintMode
。
相关方法:
定义此视图是否对单击事件做出反应。
必须是布尔值,即“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 clickable
。
相关方法:
定义简要描述视图内容的文本。 该属性主要用于可访问性。 由于某些视图没有文字表示,因此可以使用此属性来提供此类属性。
必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 contentDescription
。
相关方法:
定义此视图是否对上下文单击事件作出反应。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 contextClickable
。
相关方法:
定义半透明绘图缓存的质量。 该属性仅在绘图缓存启用且半透明时使用。 默认值是auto。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
auto |
0 | Lets the framework decide what quality level should be used for the drawing cache. |
low |
1 | Low quality. When set to low quality, the drawing cache uses a lower color depth, thus losing precision in rendering gradients, but uses less memory. |
high |
2 | High quality. When set to high quality, the drawing cache uses a higher color depth but uses more memory. |
这对应于全局属性资源符号 drawingCacheQuality
。
相关方法:
当此属性设置为true时,视图从其直接父项而不是从其本身获取其可绘制状态(聚焦,按下等)。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 duplicateParentState
。
根据z视图的深度
必须是维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 elevation
。
相关方法:
定义在不使用滚动条时是否淡出。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 fadeScrollbars
。
相关方法:
定义衰落边缘的长度。
必须是维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 fadingEdgeLength
。
相关方法:
指定当视图的窗口被另一个可见窗口遮挡时是否过滤触摸。 设置为true时,只要在视图窗口上方显示吐司,对话框或其他窗口,视图就不会接收到触摸。 有关更多详细信息,请参阅View
安全性文档。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 filterTouchesWhenObscured
。
相关方法:
布尔内部属性根据系统窗口(如状态栏)调整视图布局。 如果为true,则调整此视图的填充以为系统窗口留出空间。 只有当此视图处于非嵌入式活动时才会生效。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 fitsSystemWindows
。
相关方法:
用于控制视图是否可以获得焦点的布尔值。 默认情况下,用户不能将焦点移动到视图; 通过将该属性设置为true,该视图被允许获得焦点。 此值不会影响直接调用requestFocus()
的行为,无论此视图如何,它总是会请求焦点。 它只会影响焦点导航将尝试移动焦点的位置。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 focusable
。
相关方法:
布尔值,用于控制视图在触摸模式下是否可以获得焦点。 如果对于视图来说这是正确的,那么该视图可以在被点击时获得焦点,并且如果另一个视图被点击而没有将该属性设置为真,焦点可以保持焦点。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 focusableInTouchMode
。
相关方法:
这个视图是否有绘制时可能重叠的元素。 见forceHasOverlappingRendering(boolean)
。
必须是布尔值,“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 forceHasOverlappingRendering
。
相关方法:
定义绘制内容的drawable。 这可以用作覆盖。 如果重力设置为填充,则前景可绘制参与填充内容。
可能是另一种资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
可以是“ #rgb
”,“ #argb
”,“ #rrggbb
”或“ #aarrggbb
”形式的颜色值。
这对应于全局属性资源符号 foreground
。
相关方法:
定义应用于前景绘制的重力。 重力缺省为填充。
必须是以下常量值中的一个或多个(用'|'分隔)。
Constant | Value | 描述 |
---|---|---|
top |
0x30 | Push object to the top of its container, not changing its size. |
bottom |
0x50 | Push object to the bottom of its container, not changing its size. |
left |
0x03 | Push object to the left of its container, not changing its size. |
right |
0x05 | Push object to the right of its container, not changing its size. |
center_vertical |
0x10 | Place object in the vertical center of its container, not changing its size. |
fill_vertical |
0x70 | Grow the vertical size of the object if needed so it completely fills its container. |
center_horizontal |
0x01 | Place object in the horizontal center of its container, not changing its size. |
fill_horizontal |
0x07 | Grow the horizontal size of the object if needed so it completely fills its container. |
center |
0x11 | Place the object in the center of its container in both the vertical and horizontal axis, not changing its size. |
fill |
0x77 | Grow the horizontal and vertical size of the object if needed so it completely fills its container. |
clip_vertical |
0x80 | Additional option that can be set to have the top and/or bottom edges of the child clipped to its container's bounds. The clip will be based on the vertical gravity: a top gravity will clip the bottom edge, a bottom gravity will clip the top edge, and neither will clip both edges. |
clip_horizontal |
0x08 | Additional option that can be set to have the left and/or right edges of the child clipped to its container's bounds. The clip will be based on the horizontal gravity: a left gravity will clip the right edge, a right gravity will clip the left edge, and neither will clip both edges. |
这对应于全局属性资源符号 foregroundGravity
。
相关方法:
色调适用于前景。
必须是“ #rgb
”,“ #argb
”,“ #rrggbb
”或“ #aarrggbb
”形式的颜色值。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 foregroundTint
。
相关方法:
混合模式用于应用前景色调。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
src_over |
3 | The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] |
src_in |
5 | The tint is masked by the alpha channel of the drawable. The drawable’s color channels are thrown out. [Sa * Da, Sc * Da] |
src_atop |
9 | The tint is drawn above the drawable, but with the drawable’s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] |
multiply |
14 | Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc] |
screen |
15 | [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] |
add |
16 | Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D) |
这对应于全局属性资源符号 foregroundTintMode
。
相关方法:
布尔值,用于控制视图是否应为触发反馈启用了长按等事件。
必须是布尔值,即“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 hapticFeedbackEnabled
。
相关方法:
为此视图提供标识符名称,以便稍后使用View.findViewById()
或Activity.findViewById()
检索它。 这必须是资源参考; 通常您使用@+
语法来设置此@+
以创建新的ID资源。 例如: android:id="@+id/my_id"
,它允许您稍后使用findViewById(R.id.my_id)
检索视图。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 id
。
相关方法:
控制此视图对可访问性的重要性,即如果它触发辅助功能事件并将其报告给查询屏幕的辅助功能服务。 注意:尽管不推荐,但辅助功能服务可能会决定忽略此属性,并对视图树中的所有视图进行操作。
可能是一个整数值,如“ 100
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
可能是以下常数值之一。
Constant | Value | 描述 |
---|---|---|
auto |
0 | The system determines whether the view is important for accessibility - default (recommended). |
yes |
1 | The view is important for accessibility. |
no |
2 | The view is not important for accessibility. |
noHideDescendants |
4 | The view is not important for accessibility, nor are any of its descendant views. |
这对应于全局属性资源符号 importantForAccessibility
。
相关方法:
如果视图将作为滚动容器来设置,这意味着可以调整其大小以缩小其整个窗口,以便输入方法将有空间。 如果未设置,如果“滚动条”设置了垂直滚动条,则默认值为true,否则它将为false。
必须是布尔值,“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 isScrollContainer
。
相关方法:
控制视图的窗口应该在可见的时候保持屏幕开启。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 keepScreenOn
。
相关方法:
指定支持此视图的图层的类型。 默认值是none。 有关更多信息,请参阅setLayerType(int, android.graphics.Paint)
。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
none |
0 | Don't use a layer. |
software |
1 | Use a software layer. Refer to setLayerType(int, android.graphics.Paint) for more information. |
hardware |
2 | Use a hardware layer. Refer to setLayerType(int, android.graphics.Paint) for more information. |
这对应于全局属性资源符号 layerType
。
相关方法:
定义布局图的方向。 这通常与所用语言脚本的书写方向有关。 可能的值是从左到右的“ltr”,从右到左的“rtl”,从父视图“locale”和“继承”。 如果没有什么可继承,则使用“locale”。 “语言环境”回落到“en-US”。 “ltr”是“en-US”中使用的方向。 该属性的默认值是“继承”。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
ltr |
0 | Left-to-Right |
rtl |
1 | Right-to-Left |
inherit |
2 | Inherit from parent |
locale |
3 | Locale |
这对应于全局属性资源符号 layoutDirection
。
相关方法:
定义此视图是否对长单击事件起反应。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 longClickable
。
相关方法:
定义视图的最小高度。 不能保证视图能够达到这个最小高度(例如,如果它的父布局用较少的可用高度限制它)。
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 minHeight
。
相关方法:
定义视图的最小宽度。 不能保证视图能够达到这个最小宽度(例如,如果它的父布局用较小的可用宽度限制它)。
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 minWidth
。
相关方法:
定义下一个焦点到下一个焦点的视图 FOCUS_DOWN
如果引用引用的视图不存在或者是不可见的层次结构的一部分,则访问引用时将导致 RuntimeException
。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 nextFocusDown
。
相关方法:
定义下一个焦点到下一个焦点的视图 FOCUS_FORWARD
如果引用引用的视图不存在或是不可见的层次结构的一部分,则访问引用时将导致 RuntimeException
。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 nextFocusForward
。
相关方法:
定义下一个焦点为FOCUS_LEFT
时焦点的下一个视图。 如果引用引用不存在的视图或者是不可见的层次结构的一部分,则访问引用时将导致RuntimeException
。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 nextFocusLeft
。
相关方法:
定义下一个焦点到下一个焦点的视图 FOCUS_RIGHT
如果引用引用的视图不存在或是不可见的层次结构的一部分,则访问该引用时将产生 RuntimeException
。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 nextFocusRight
。
相关方法:
定义下一个焦点到下一个焦点的视图 FOCUS_UP
如果引用引用不存在的视图或是不可见的层次结构的一部分,则访问引用时将产生 RuntimeException
。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 nextFocusUp
。
相关方法:
点击视图时,此视图上下文中要调用的方法的名称。 该名称必须对应于一个公共方法,该方法只需要一个View类型的参数。 例如,如果指定android:onClick="sayHello"
,则必须声明一个public void sayHello(View v)
方法(通常为您的活动)。
必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 onClick
。
设置所有四条边的填充(以像素为单位)。 填充被定义为视图边缘和视图内容之间的空间。 视图大小将包括它的填充。 如果提供了background
,则填充最初将设置为(如果drawable没有填充,则为0)。 显式设置填充值将覆盖在背景中找到的相应填充。
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 padding
。
相关方法:
设置底部边缘的填充(以像素为单位); 见padding
。
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 paddingBottom
。
相关方法:
设置结束边的填充(以像素为单位); 见padding
。
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 paddingEnd
。
相关方法:
设置左边缘的填充(以像素为单位); 见padding
。
必须是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 paddingLeft
。
相关方法:
设置右边缘的填充(以像素为单位); 见padding
。
必须是尺寸值,该值是附加了诸如“ 14.5sp
”等单位的14.5sp
。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 paddingRight
。
相关方法:
设置起始边缘的填充(以像素为单位); 见padding
。
必须是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 paddingStart
。
相关方法:
设置顶边的填充(以像素为单位); 见padding
。
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 paddingTop
。
相关方法:
定义滚动时哪些边应该淡化。
必须是以下常量值中的一个或多个(用'|'分隔)。
Constant | Value | 描述 |
---|---|---|
none |
0x00000000 | No edge is faded. |
horizontal |
0x00001000 | Fades horizontal edges only. |
vertical |
0x00002000 | Fades vertical edges only. |
这对应于全局属性资源符号 requiresFadingEdge
。
相关方法:
视图的旋转度,以度为单位。
必须是浮点值,例如“ 1.2
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 rotation
。
相关方法:
绕x轴旋转视角,以度为单位。
必须是浮点值,例如“ 1.2
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 rotationX
。
相关方法:
绕y轴旋转视角,以度为单位。
必须是浮点值,例如“ 1.2
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 rotationY
。
相关方法:
如果为false,则冻结时该视图不会保存状态。 缺省值为true,允许保存视图(但也必须为其状态分配一个ID才能保存)。 将其设置为false只会禁用此视图的状态,而不会为其仍可能保存的子项禁用。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 saveEnabled
。
相关方法:
x方向的视图比例。
必须是浮点值,例如“ 1.2
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 scaleX
。
相关方法:
y方向上的视图的比例。
必须是浮点值,例如“ 1.2
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 scaleY
。
相关方法:
定义在滚动视图时应显示哪些滚动指示器。 多个值可以使用逻辑OR进行组合,例如“top | bottom”。
必须是以下常量值中的一个或多个(用'|'分隔)。
Constant | Value | 描述 |
---|---|---|
none |
0x00 | No scroll indicators are displayed. |
top |
0x01 | Displays top scroll indicator when view can be scrolled up. |
bottom |
0x02 | Displays bottom scroll indicator when vew can be scrolled down. |
left |
0x04 | Displays left scroll indicator when vew can be scrolled left. |
right |
0x08 | Displays right scroll indicator when vew can be scrolled right. |
start |
0x10 | Displays right scroll indicator when vew can be scrolled in the start direction. |
end |
0x20 | Displays right scroll indicator when vew can be scrolled in the end direction. |
这对应于全局属性资源符号 scrollIndicators
。
相关方法:
初始水平滚动偏移量,以像素为单位。
必须是维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 scrollX
。
初始垂直滚动偏移量,以像素为单位。
必须是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 scrollY
。
定义是否应始终绘制水平滚动条轨迹。
必须是布尔值,“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 scrollbarAlwaysDrawHorizontalTrack
。
定义是否应始终绘制垂直滚动条轨道。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 scrollbarAlwaysDrawVerticalTrack
。
定义在淡出之前滚动条等待的延迟(以毫秒为单位)。
必须是整数值,例如“ 100
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 scrollbarDefaultDelayBeforeFade
。
相关方法:
定义滚动条淡出所需的延迟时间(以毫秒为单位)。
必须是整数值,例如“ 100
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 scrollbarFadeDuration
。
相关方法:
设置垂直滚动条的宽度和水平滚动条的高度。
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 scrollbarSize
。
相关方法:
控制滚动条的样式和位置。 滚动条可以重叠或嵌入。 插入时,它们添加到视图的填充。 滚动条可以在填充区域或视图的边缘内绘制。 例如,如果视图具有可绘制背景,并且您希望在drawable指定的填充内绘制滚动条,则可以使用insideOverlay或insideInset。 如果您希望它们出现在视图的边缘,忽略填充,则可以使用outsideOverlay或outsideInset。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
insideOverlay |
0x0 | Inside the padding and overlaid |
insideInset |
0x01000000 | Inside the padding and inset |
outsideOverlay |
0x02000000 | Edge of the view and overlaid |
outsideInset |
0x03000000 | Edge of the view and inset |
这对应于全局属性资源符号 scrollbarStyle
。
相关方法:
定义可绘制的水平滚动条缩略图。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 scrollbarThumbHorizontal
。
定义可绘制的垂直滚动条缩略图。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 scrollbarThumbVertical
。
定义可绘制的水平滚动条轨迹。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 scrollbarTrackHorizontal
。
定义可绘制的垂直滚动条轨迹。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 scrollbarTrackVertical
。
定义在滚动或不滚动时应显示哪些滚动条。
必须是以下常量值中的一个或多个(用'|'分隔)。
Constant | Value | 描述 |
---|---|---|
none |
0x00000000 | No scrollbar is displayed. |
horizontal |
0x00000100 | Displays horizontal scrollbar only. |
vertical |
0x00000200 | Displays vertical scrollbar only. |
这对应于全局属性资源符号 scrollbars
。
布尔值,用于控制视图是否应该为点击和触摸等事件启用声音效果。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 soundEffectsEnabled
。
相关方法:
设置视图的基于状态的动画器。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 stateListAnimator
。
提供标记为包含字符串这个视图中,要与以后提取View.getTag()
或搜索与View.findViewWithTag()
。 通常最好使用ID(通过android:id属性)代替标签,因为它们更快,并且允许进行编译时类型检查。
必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 tag
。
定义文本的对齐方式。 启发式用于确定已解析的文本对齐。
可能是一个整数值,如“ 100
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
可能是以下常数值之一。
Constant | Value | 描述 |
---|---|---|
inherit |
0 | Default |
gravity |
1 | Default for the root view. The gravity determines the alignment, ALIGN_NORMAL, ALIGN_CENTER, or ALIGN_OPPOSITE, which are relative to each paragraph’s text direction |
textStart |
2 | Align to the start of the paragraph, e.g. ALIGN_NORMAL. |
textEnd |
3 | Align to the end of the paragraph, e.g. ALIGN_OPPOSITE. |
center |
4 | Center the paragraph, e.g. ALIGN_CENTER. |
viewStart |
5 | Align to the start of the view, which is ALIGN_LEFT if the view’s resolved layoutDirection is LTR, and ALIGN_RIGHT otherwise. |
viewEnd |
6 | Align to the end of the view, which is ALIGN_RIGHT if the view’s resolved layoutDirection is LTR, and ALIGN_LEFT otherwise |
这对应于全局属性资源符号 textAlignment
。
相关方法:
定义文本的方向。 启发式用于确定段落的已解决文本方向。
可能是一个整数值,如“ 100
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
可能是以下常数值之一。
Constant | Value | 描述 |
---|---|---|
inherit |
0 | Default |
firstStrong |
1 | Default for the root view. The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is the view’s resolved layout direction. |
anyRtl |
2 | The paragraph direction is RTL if it contains any strong RTL character, otherwise it is LTR if it contains any strong LTR characters. If there are neither, the paragraph direction is the view’s resolved layout direction. |
ltr |
3 | The paragraph direction is left to right. |
rtl |
4 | The paragraph direction is right to left. |
locale |
5 | The paragraph direction is coming from the system Locale. |
firstStrongLtr |
6 | The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is LTR. |
firstStrongRtl |
7 | The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is RTL. |
这对应于全局属性资源符号 textDirection
。
相关方法:
指定视图的主题覆盖。 当设置主题覆盖时,视图将使用以指定资源为主题的Context
充气。 在XML膨胀期间,具有主题覆盖的视图下的任何子视图都将继承主题上下文。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 theme
。
x视图旋转和缩放的枢轴点的位置。 这个xml属性设置View的pivotX属性。
必须是维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 transformPivotX
。
相关方法:
y视图旋转和缩放的枢轴点的位置。 这个xml属性设置View的pivotY属性。
必须是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 transformPivotY
。
相关方法:
命名一个视图,以便可以识别Transitions。 名称在视图层次结构中应该是唯一的。
必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 transitionName
。
翻译x的视图。 此值将在布局后添加到视图的左侧属性中,该属性由其布局设置。
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 translationX
。
相关方法:
翻译y的视图。 此值将在布局后添加到视图的顶层属性中,该视图由其布局设置。
必须是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 translationY
。
相关方法:
视图的z翻译。 该值将被添加到其高程中。
必须是尺寸值,该值是附加了诸如“ 14.5sp
”等单位的14.5sp
。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 translationZ
。
相关方法:
控制视图的初始可见性。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
visible |
0 | Visible on screen; the default value. |
invisible |
1 | Not displayed, but taken into account during layout (space is left for it). |
gone |
2 | Completely hidden, as if the view had not been added. |
这对应于全局属性资源符号 visibility
。
相关方法:
int ACCESSIBILITY_LIVE_REGION_ASSERTIVE
实时区域模式指定无障碍服务应中断正在进行的语音,以立即通告对此视图的更改。
与 setAccessibilityLiveRegion(int)
使用。
常量值:2(0x00000002)
int ACCESSIBILITY_LIVE_REGION_NONE
实时区域模式指定无障碍服务不应该自动通告对此视图的更改。 这是大多数视图的默认实时区域模式。
与 setAccessibilityLiveRegion(int)
使用。
常量值:0(0x00000000)
int ACCESSIBILITY_LIVE_REGION_POLITE
活动区域模式指定无障碍服务应该宣布对此视图的更改。
与 setAccessibilityLiveRegion(int)
使用。
常数值:1(0x00000001)
int DRAG_FLAG_GLOBAL
指示拖动可以跨越窗口边界的标志。 当startDragAndDrop(ClipData, DragShadowBuilder, Object, int)
被称为具有这个标志,与targetSdkVersion> =所有可见的应用程序API 24
将能够参加拖动操作和接收拖动的内容。 如果这是唯一的标志集,则拖动接收者将只能访问包含在ClipData
对象中的文本数据和意图。 对包含在ClipData
URI的访问由其他DRAG_FLAG_GLOBAL_ *标志确定。
常量值:256(0x00000100)
int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION
当此标志与 DRAG_FLAG_GLOBAL_URI_READ
和/或 DRAG_FLAG_GLOBAL_URI_WRITE
,URI许可授权可以在设备重启之前持续存在,直到通过 Context.revokeUriPermission
明确吊销 Context.revokeUriPermission
。
常量值:64(0x00000040)
int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION
当此标志与 DRAG_FLAG_GLOBAL_URI_READ
和/或 DRAG_FLAG_GLOBAL_URI_WRITE
,URI许可授权适用于与原始授权URI相匹配的前缀匹配的任何URI。
常量值:128(0x00000080)
int DRAG_FLAG_GLOBAL_URI_READ
当此标志与 DRAG_FLAG_GLOBAL
使用时,拖动接收方将能够请求读取访问 ClipData
对象中包含的内容URI。
常数值:1(0x00000001)
int DRAG_FLAG_GLOBAL_URI_WRITE
当此标志与 DRAG_FLAG_GLOBAL
使用时,拖动接收方将能够请求写入访问 ClipData
对象中包含的内容URI。
常量值:2(0x00000002)
int DRAG_FLAG_OPAQUE
指示拖影不透明的标志。 当设置此标志调用startDragAndDrop(ClipData, DragShadowBuilder, Object, int)
,拖影将是不透明的,否则它将是半透明的。
常量值:512(0x00000200)
int DRAWING_CACHE_QUALITY_AUTO
为绘图缓存启用自动质量模式。
常量值:0(0x00000000)
int DRAWING_CACHE_QUALITY_HIGH
Enables high quality mode for the drawing cache.
常量值:1048576(0x00100000)
int DRAWING_CACHE_QUALITY_LOW
为绘图缓存启用低质量模式。
常量值:524288(0x00080000)
int FIND_VIEWS_WITH_CONTENT_DESCRIPTION
查找包含指定内容描述的查看视图。
常量值:2(0x00000002)
int FOCUSABLES_ALL
查看标志,指示 addFocusables(ArrayList, int, int)
是否应该添加所有可聚焦视图,而不管它们是否可以在触摸模式下 addFocusables(ArrayList, int, int)
。
常量值:0(0x00000000)
int FOCUSABLES_TOUCH_MODE
查看标志,指示 addFocusables(ArrayList, int, int)
是否应只添加在触摸模式下可聚焦的Views。
常数值:1(0x00000001)
int FOCUS_BACKWARD
与focusSearch(int)
使用。 将焦点移至上一个可选项目。
常数值:1(0x00000001)
int FOCUS_FORWARD
与focusSearch(int)
使用。 将焦点移至下一个可选项目。
常量值:2(0x00000002)
int GONE
这个视图是不可见的,它不需要任何空间来布局。 使用setVisibility(int)
和android:visibility
.
常量值:8(0x00000008)
int HAPTIC_FEEDBACK_ENABLED
查看标志,指示这个视图是否应该为长按等事件启用触觉反馈。
常量值:268435456(0x10000000)
int IMPORTANT_FOR_ACCESSIBILITY_AUTO
自动确定视图对可访问性是否重要。
常量值:0(0x00000000)
int IMPORTANT_FOR_ACCESSIBILITY_NO
该视图对可访问性并不重要。
常量值:2(0x00000002)
int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
该视图对可访问性来说并不重要,它的任何后代视图也不重要。
常量值:4(0x00000004)
int IMPORTANT_FOR_ACCESSIBILITY_YES
该视图对可访问性非常重要。
常数值:1(0x00000001)
int INVISIBLE
这个视图是不可见的,但它仍然占用空间用于布局。 使用setVisibility(int)
和android:visibility
.
常量值:4(0x00000004)
int KEEP_SCREEN_ON
查看标志,指示屏幕应保持打开状态,同时包含此视图的窗口对用户可见。 这有效地自动设置WindowManager的FLAG_KEEP_SCREEN_ON
。
常量值:67108864(0x04000000)
int LAYER_TYPE_HARDWARE
表示该视图具有硬件层。 硬件层由硬件特定纹理(通常是OpenGL硬件上的帧缓冲区对象或FBO)支持,并使视图使用Android的硬件渲染管道渲染,但前提是视图层次结构的硬件加速已打开。 硬件加速关闭时,硬件层的行为与software layers
完全相同。
硬件层对于将特定颜色过滤器和/或混合模式和/或半透明应用于视图及其所有孩子是有用的。
硬件层可用于将复杂的视图树缓存到纹理中,并降低绘制操作的复杂性。 例如,当使用翻译对复杂视图树进行动画处理时,可以使用硬件层来渲染视图树一次。
旋转变换应用于视图时,硬件层也可用于提高渲染质量。 在视图上应用3D变换时,它也可以用来防止潜在的裁剪问题。
常量值:2(0x00000002)
int LAYER_TYPE_SOFTWARE
表示该视图具有软件层。 一个软件层由一个位图支持,并使视图使用Android的软件渲染管道渲染,即使启用了硬件加速。
软件层有各种用途:
当应用程序未使用硬件加速时,软件层对于将特定颜色过滤器和/或混合模式和/或半透明应用于视图及其所有子项很有用。
当应用程序使用硬件加速时,软件层可用于渲染硬件加速管道不支持的绘制原语。 它也可用于将复杂的视图树缓存到纹理中,并降低绘制操作的复杂性。 例如,当使用翻译对复杂视图树进行动画处理时,可以使用软件层仅渲染一次视图树。
受影响的视图树经常更新时应避免软件层。 每次更新都需要重新渲染软件层,这可能会很慢(特别是当硬件加速打开时,因为在每次更新后必须将图层上载到硬件纹理中)。
常数值:1(0x00000001)
int LAYOUT_DIRECTION_INHERIT
该视图的水平布局方向是从其父项继承的。 与setLayoutDirection(int)
使用。
常量值:2(0x00000002)
int LAYOUT_DIRECTION_LOCALE
此视图的水平布局方向是从区域设置的默认语言脚本中推导出来的。 与setLayoutDirection(int)
使用。
常量值:3(0x00000003)
int LAYOUT_DIRECTION_LTR
此视图的水平布局方向是从左到右。 与setLayoutDirection(int)
使用。
常量值:0(0x00000000)
int LAYOUT_DIRECTION_RTL
此视图的水平布局方向是从右到左。 与setLayoutDirection(int)
使用。
常数值:1(0x00000001)
int MEASURED_HEIGHT_STATE_SHIFT
的比特移位 MEASURED_STATE_MASK
去的高度位为宽度和高度结合成单个int功能,例如 getMeasuredState()
和的参数的ChildState resolveSizeAndState(int, int, int)
。
常量值:16(0x00000010)
int MEASURED_SIZE_MASK
提供实际测量尺寸的 getMeasuredWidthAndState()
和 getMeasuredWidthAndState()
位。
常量值:16777215(0x00ffffff)
int MEASURED_STATE_MASK
提供附加状态位的 getMeasuredWidthAndState()
和 getMeasuredWidthAndState()
位。
常量值:-16777216(0xff000000)
int MEASURED_STATE_TOO_SMALL
getMeasuredWidthAndState()
和 getMeasuredWidthAndState()
位,表示测量的尺寸小于视图想要的空间。
常量值:16777216(0x01000000)
int OVER_SCROLL_ALWAYS
始终允许用户过度滚动此视图,前提是该视图可以滚动。
常量值:0(0x00000000)
int OVER_SCROLL_IF_CONTENT_SCROLLS
只有当内容足够大时才允许用户过度滚动此视图以便进行有意义的滚动,前提是该视图可以滚动。
常数值:1(0x00000001)
int SCREEN_STATE_OFF
表示屏幕已更改状态,现在关闭。
也可以看看:
常量值:0(0x00000000)
int SCREEN_STATE_ON
表示屏幕已更改状态并且现在处于打开状态。
也可以看看:
常数值:1(0x00000001)
int SCROLLBARS_INSIDE_INSET
滚动条样式显示填充区域内的滚动条,增加视图的填充。 滚动条不会与视图的内容区域重叠。
常量值:16777216(0x01000000)
int SCROLLBARS_INSIDE_OVERLAY
滚动条样式在内容区域内显示滚动条,而不增加填充。 滚动条将在视图的内容上覆盖半透明。
常量值:0(0x00000000)
int SCROLLBARS_OUTSIDE_INSET
滚动条样式在视图的边缘显示滚动条,增加视图的填充。 如果有的话,滚动条只会与背景重叠。
常量值:50331648(0x03000000)
int SCROLLBARS_OUTSIDE_OVERLAY
滚动条样式在视图边缘显示滚动条,而不增加填充。 滚动条将覆盖半透明。
常量值:33554432(0x02000000)
int SCROLLBAR_POSITION_DEFAULT
将滚动条置于系统确定的默认位置。
常量值:0(0x00000000)
int SCROLLBAR_POSITION_LEFT
沿着左边缘放置滚动条。
常数值:1(0x00000001)
int SCROLLBAR_POSITION_RIGHT
沿着右边缘放置滚动条。
常量值:2(0x00000002)
int SCROLL_AXIS_HORIZONTAL
指示沿着水平轴进行滚动。
常数值:1(0x00000001)
int SCROLL_INDICATOR_BOTTOM
滚动指示器方向为视图底部边缘。
常量值:2(0x00000002)
int SCROLL_INDICATOR_END
滚动指示器方向为视图的结束边缘。
根据视图的布局方向解决,请参阅 getLayoutDirection()
了解更多信息。
常量值:32(0x00000020)
int SCROLL_INDICATOR_LEFT
滚动视图左侧边缘的指示器方向。
常量值:4(0x00000004)
int SCROLL_INDICATOR_RIGHT
滚动指示器方向为视图的右边缘。
常量值:8(0x00000008)
int SCROLL_INDICATOR_START
滚动指示器方向为视图的起始边缘。
根据视图的布局方向解决,请参阅 getLayoutDirection()
了解更多信息。
常量值:16(0x00000010)
int SCROLL_INDICATOR_TOP
滚动指示器的方向为视图的顶部边缘。
常数值:1(0x00000001)
int SOUND_EFFECTS_ENABLED
查看标志,指示该视图是否应该为点击和触摸等事件启用声音效果。
常量值:134217728(0x08000000)
int STATUS_BAR_HIDDEN
此常数在API级别14中已弃用。
改为使用SYSTEM_UI_FLAG_LOW_PROFILE
。
常数值:1(0x00000001)
int STATUS_BAR_VISIBLE
此常数在API级别14中已弃用。
改为使用SYSTEM_UI_FLAG_VISIBLE
。
常量值:0(0x00000000)
int SYSTEM_UI_FLAG_FULLSCREEN
标志为 setSystemUiVisibility(int)
:View已请求进入正常的全屏模式,以便其内容可以接管屏幕,同时仍允许用户与应用程序进行交互。
这与WindowManager.LayoutParams.FLAG_FULLSCREEN
具有相同的视觉效果,这意味着非关键屏幕装饰(例如状态栏)将在用户处于视图窗口中时隐藏,将体验集中在该内容上。 与窗口标志不同,如果您在Window.FEATURE_ACTION_BAR_OVERLAY
覆盖模式下使用ActionBar,那么启用此标志也会隐藏操作栏。
这种全屏显示方式最好在窗口标志处于临时状态时使用 - 也就是说,应用程序在其用户交互中的特定位置执行此操作,以允许用户专注于内容,而不是连续状态。 对于应用程序想要在整个时间内保持全屏的情况(例如想要接管屏幕的游戏), window flag
通常是更好的方法。 系统在各种情况下(例如用户移动到另一个应用程序)像这些其他系统UI状态一样将在此处设置的状态被删除。
当使用这个标志时,应用程序应该为用户提供一些简单的设施。 一个常见的例子是在电子书阅读器中,在屏幕上点击可以带回用户沉浸在阅读本书时隐藏的任何屏幕和UI装饰。
也可以看看:
常量值:4(0x00000004)
int SYSTEM_UI_FLAG_HIDE_NAVIGATION
标记为 setSystemUiVisibility(int)
:View已请求暂时隐藏系统导航。
这比SYSTEM_UI_FLAG_LOW_PROFILE
所要求的更加不那么突兀; 在屏幕上绘制基本导航控件(主屏幕, SYSTEM_UI_FLAG_HIDE_NAVIGATION
屏幕等)的设备上, SYSTEM_UI_FLAG_HIDE_NAVIGATION
将导致这些屏幕消失。 这很有用(与FLAG_FULLSCREEN
和FLAG_LAYOUT_IN_SCREEN
窗口标志一起使用),用于使用显示器上的每个最后一个像素显示内容。
有一个限制:因为导航控件非常重要,最少的用户交互将导致它们立即重新出现。 发生这种情况时,该标志和SYSTEM_UI_FLAG_FULLSCREEN
将自动清除,以便两个元素同时重新出现。
也可以看看:
常量值:2(0x00000002)
int SYSTEM_UI_FLAG_IMMERSIVE
标记为setSystemUiVisibility(int)
:视图想要在隐藏导航栏时保持交互,即SYSTEM_UI_FLAG_HIDE_NAVIGATION
。 如果未设置此标志,系统将在任何用户交互时强制清除SYSTEM_UI_FLAG_HIDE_NAVIGATION
。
由于该标志是 SYSTEM_UI_FLAG_HIDE_NAVIGATION
的修饰符,因此只有在与该标志组合使用时才有效果。
常量值:2048(0x00000800)
int SYSTEM_UI_FLAG_IMMERSIVE_STICKY
标记为setSystemUiVisibility(int)
:当隐藏状态栏SYSTEM_UI_FLAG_FULLSCREEN
和/或隐藏导航栏SYSTEM_UI_FLAG_HIDE_NAVIGATION
时,视图想保持交互。 使用此标志创建身临其境的体验,同时隐藏系统栏。 如果没有设置该标志, SYSTEM_UI_FLAG_HIDE_NAVIGATION
将是系统上的任何用户互动清除力,并SYSTEM_UI_FLAG_FULLSCREEN
将是,如果用户从屏幕顶部挥笔被系统强制清除。
当系统栏以沉浸模式隐藏时,可以通过系统手势临时显示它们,例如从屏幕顶部滑动。 这些瞬态系统栏会覆盖应用程序的内容,可能具有某种程度的透明度,并会在短暂超时后自动隐藏。
由于此标志是 SYSTEM_UI_FLAG_FULLSCREEN
和 SYSTEM_UI_FLAG_HIDE_NAVIGATION
的修饰符,因此只有在与这些标志中的一个或两个组合使用时才有效果。
常量值:4096(0x00001000)
int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
标志为setSystemUiVisibility(int)
:查看想要将其窗口布置为好像它已请求SYSTEM_UI_FLAG_FULLSCREEN
,即使它现在还没有。 这允许它在切入和切出该模式时避免失真,其代价是它们的一些用户界面在显示时可能被屏幕装饰覆盖。 您可以通过fitSystemWindows(Rect)
方法执行内部UI元素的布局,以解释非全屏系统UI。
常量值:1024(0x00000400)
int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
标记为setSystemUiVisibility(int)
:视图想要将它的窗口布置为好像它已请求SYSTEM_UI_FLAG_HIDE_NAVIGATION
,即使它现在还没有。 这允许它在切入和切出该模式时避免失真,其代价是它们的一些用户界面在显示时可能被屏幕装饰覆盖。 通过fitSystemWindows(Rect)
方法,您可以执行内部UI元素的布局来解释导航系统UI。
常量值:512(0x00000200)
int SYSTEM_UI_FLAG_LAYOUT_STABLE
标志为setSystemUiVisibility(int)
:使用其他布局标志时,我们希望稳定地查看fitSystemWindows(Rect)
的内容插入。 这意味着在那里看到的插图将始终代表应用程序可以预期为连续状态的最坏情况。 在股票Android UI中,这是系统栏,导航栏和状态栏的空间,但不是更多临时元素,例如输入法。 您看到的UI的稳定布局基于您可以切换到的系统UI模式。 也就是说,如果您指定SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
那么您将获得稳定的布局以更改SYSTEM_UI_FLAG_FULLSCREEN
模式; 如果您指定SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
和SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
,则可以使用稳定的布局转换到SYSTEM_UI_FLAG_FULLSCREEN
和SYSTEM_UI_FLAG_HIDE_NAVIGATION
。 (请注意,您应避免SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
使用SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
)如果您已将窗口标志FLAG_FULLSCREEN
设置为隐藏状态栏(而不是使用SYSTEM_UI_FLAG_FULLSCREEN
),则隐藏状态栏将被视为“稳定”状态。 这可以让您的用户界面不断隐藏状态栏,同时仍然使用系统UI标志来隐藏操作栏,同时仍然保持稳定的布局。 请注意,更改窗口全屏标志永远不会为干净转换提供稳定的布局。
如果您在 Window.FEATURE_ACTION_BAR_OVERLAY
覆盖模式下使用ActionBar,则此标志也会影响它添加给应用程序的插入。
常量值:256(0x00000100)
int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
标志为 setSystemUiVisibility(int)
:请求状态栏绘制与灯光状态栏背景兼容的模式。
为使此生效,该窗口必须请求 FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
而不是 FLAG_TRANSLUCENT_STATUS
。
也可以看看:
常量值:8192(0x00002000)
int SYSTEM_UI_FLAG_LOW_PROFILE
标志为 setSystemUiVisibility(int)
:View已请求系统UI进入不显眼的“低调”模式。
这适用于游戏,图书阅读器,视频播放器或任何其他“沉浸式”应用程序,其中通常的系统镶边被视为过分分散注意力。
在低调模式下,状态栏和/或导航图标可能会变暗。
也可以看看:
常数值:1(0x00000001)
int SYSTEM_UI_FLAG_VISIBLE
特殊常数 setSystemUiVisibility(int)
:View已请求系统UI(状态栏)可见(默认)。
也可以看看:
常量值:0(0x00000000)
int SYSTEM_UI_LAYOUT_FLAGS
与系统UI相关的可能影响布局的标志。
常量值:1536(0x00000600)
int TEXT_ALIGNMENT_CENTER
居中该段落,例如ALIGN_CENTER。 与setTextAlignment(int)
使用
常量值:4(0x00000004)
int TEXT_ALIGNMENT_GRAVITY
根视图的默认值。 重力决定文本对齐,ALIGN_NORMAL,ALIGN_CENTER或ALIGN_OPPOSITE,它们与每个段落的文本方向有关。 与setTextAlignment(int)
使用
常数值:1(0x00000001)
int TEXT_ALIGNMENT_INHERIT
默认文本对齐。 此视图的文本对齐从其父项继承。 与setTextAlignment(int)
使用
常量值:0(0x00000000)
int TEXT_ALIGNMENT_TEXT_END
对齐段落的末尾,例如ALIGN_OPPOSITE。 与setTextAlignment(int)
使用
常量值:3(0x00000003)
int TEXT_ALIGNMENT_TEXT_START
与段落的开头对齐,例如ALIGN_NORMAL。 与setTextAlignment(int)
使用
常量值:2(0x00000002)
int TEXT_ALIGNMENT_VIEW_END
如果视图的解析layoutDirection是LTR,则与视图的末端对齐,即ALIGN_RIGHT;否则,对齐ALIGN_LEFT。 与setTextAlignment(int)
使用
常数值:6(0x00000006)
int TEXT_ALIGNMENT_VIEW_START
如果视图的解析layoutDirection为LTR,则与视图的开始位置对齐,即ALIGN_LEFT,否则为ALIGN_RIGHT。 与setTextAlignment(int)
使用
常量值:5(0x00000005)
int TEXT_DIRECTION_ANY_RTL
文本方向使用“any-RTL”算法。 如果段落方向包含任何强烈的RTL字符,则该段落的方向为RTL;否则,如果LTR包含任何强的LTR字符,则为LTR。 如果两者都不存在,则段落方向是视图的解析布局方向。
常量值:2(0x00000002)
int TEXT_DIRECTION_FIRST_STRONG
文本方向是使用“第一强算法”。 第一个强烈的方向性决定了段落的方向。 如果没有强烈的方向性,则段落方向是视图的解析布局方向。
常数值:1(0x00000001)
int TEXT_DIRECTION_FIRST_STRONG_LTR
文本方向是使用“第一强算法”。 第一个强烈的方向性决定了段落的方向。 如果没有强大的方向性,则段落方向为LTR。
常数值:6(0x00000006)
int TEXT_DIRECTION_FIRST_STRONG_RTL
文本方向是使用“第一强算法”。 第一个强烈的方向性决定了段落的方向。 如果没有强大的方向性,则段落方向为RTL。
常量值:7(0x00000007)
int TEXT_DIRECTION_INHERIT
文本方向通过 ViewGroup
继承
常量值:0(0x00000000)
int TEXT_DIRECTION_LOCALE
文本方向来自系统区域设置。
常量值:5(0x00000005)
int VISIBLE
这个视图是可见的。 使用setVisibility(int)
和android:visibility
.
常量值:0(0x00000000)
Property<View, Float> ALPHA
围绕由 setAlpha(float)
和 getAlpha()
方法处理的 alpha
功能的属性包装。
int[] EMPTY_STATE_SET
指示视图没有设置状态。 状态与Drawable
一起使用,根据其状态来更改视图的绘制。
也可以看看:
int[] ENABLED_FOCUSED_SELECTED_STATE_SET
表示视图已启用,关注和选择。
int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
指示视图已启用,已聚焦,已选中,并且其窗口具有焦点。
int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
表示视图已启用,重点突出,其窗口具有焦点。
int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
表示视图已启用,已选中并且其窗口具有焦点。
int[] ENABLED_STATE_SET
表示视图已启用。 状态与Drawable
一起使用,根据其状态更改视图的绘制。
也可以看看:
int[] ENABLED_WINDOW_FOCUSED_STATE_SET
指示视图已启用,并且其窗口具有焦点。
int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
指示视图被聚焦,被选中并且其窗口具有焦点。
int[] FOCUSED_STATE_SET
表示该视图是重点。 状态用于Drawable
根据其状态更改视图的绘制。
也可以看看:
int[] FOCUSED_WINDOW_FOCUSED_STATE_SET
指示视图具有焦点并且其窗口具有焦点。
int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET
指示视图被按下,启用,关注和选择。
int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
指示视图被按下,启用,关注,选中并且其窗口具有焦点。
int[] PRESSED_ENABLED_FOCUSED_STATE_SET
指示视图被按下,启用和关注。
int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
指示视图被按下,启用,关注并且其窗口具有焦点。
int[] PRESSED_ENABLED_SELECTED_STATE_SET
指示视图被按下,启用和选择。
int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
指示视图被按下,启用,选中并且其窗口具有焦点。
int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET
指示视图被按下,启用并且其窗口具有焦点。
int[] PRESSED_FOCUSED_SELECTED_STATE_SET
指示视图被按下,聚焦和选择。
int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
指示视图被按下,聚焦,选中并且其窗口具有焦点。
int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET
指示视图被按下,聚焦并且其窗口具有焦点。
int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET
指示视图被按下,选中并且其窗口具有焦点。
int[] PRESSED_STATE_SET
表示按下了视图。 状态用于Drawable
根据其状态更改视图的绘制。
也可以看看:
int[] PRESSED_WINDOW_FOCUSED_STATE_SET
指示按下视图并且其窗口具有焦点。
Property<View, Float> ROTATION
围绕由 setRotation(float)
和 getRotation()
方法处理的 rotation
功能的属性包装。
Property<View, Float> ROTATION_X
围绕由 setRotationX(float)
和 getRotationX()
方法处理的 rotationX
功能的属性包装。
Property<View, Float> ROTATION_Y
围绕由 setRotationY(float)
和 getRotationY()
方法处理的 rotationY
功能的属性包装。
Property<View, Float> SCALE_X
围绕由 setScaleX(float)
和 getScaleX()
方法处理的 scaleX
功能的属性包装。
Property<View, Float> SCALE_Y
围绕由 setScaleY(float)
和 getScaleY()
方法处理的 scaleY
功能的属性包装。
int[] SELECTED_STATE_SET
表示已选择视图。 状态用于Drawable
根据其状态更改视图的绘制。
也可以看看:
int[] SELECTED_WINDOW_FOCUSED_STATE_SET
指示已选择视图并且其窗口具有焦点。
Property<View, Float> TRANSLATION_X
围绕由 setTranslationX(float)
和 getTranslationX()
方法处理的 translationX
功能的属性包装。
Property<View, Float> TRANSLATION_Y
围绕由 setTranslationY(float)
和 getTranslationY()
方法处理的 translationY
功能的属性包装。
Property<View, Float> TRANSLATION_Z
围绕由 setTranslationZ(float)
和 getTranslationZ()
方法处理的 translationZ
功能的属性包装。
int[] WINDOW_FOCUSED_STATE_SET
指示视图的窗口具有焦点。 状态与Drawable
一起使用,根据其状态更改视图的绘制。
也可以看看:
View (Context context)
从代码创建视图时使用简单的构造函数。
Parameters | |
---|---|
context |
Context : The Context the view is running in, through which it can access the current theme, resources, etc. |
View (Context context, AttributeSet attrs)
从XML扩展视图时调用的构造函数。 这是在从XML文件构造视图时调用的,并提供在XML文件中指定的属性。 此版本使用默认样式0,所以应用的唯一属性值是Context's Theme和给定AttributeSet中的值。
onFinishInflate()方法将在添加完所有子项后调用。
Parameters | |
---|---|
context |
Context : The Context the view is running in, through which it can access the current theme, resources, etc. |
attrs |
AttributeSet : The attributes of the XML tag that is inflating the view. |
View (Context context, AttributeSet attrs, int defStyleAttr)
从XML执行通货膨胀并应用主题属性中的特定于类的基本样式。 View的这个构造函数允许子类在膨胀时使用他们自己的基础样式。 例如,一个Button类的构造函数会调用这个版本的超类构造函数,并为R.attr.buttonStyle
提供R.attr.buttonStyle ; 这允许主题的按钮样式修改所有基本视图属性(特别是其背景)以及Button类的属性。
Parameters | |
---|---|
context |
Context : The Context the view is running in, through which it can access the current theme, resources, etc. |
attrs |
AttributeSet : The attributes of the XML tag that is inflating the view. |
defStyleAttr |
int : An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults. |
也可以看看:
View (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
从XML执行通货膨胀并应用主题属性或样式资源中的特定于类的基本样式。 View的这个构造函数允许子类在膨胀时使用他们自己的基础样式。
当确定一个特定属性的最终值时,有四个输入参与进来:
这些输入中的每一个都按顺序考虑,列出的第一个输入优先于下列输入。 换句话说,如果在AttributeSet中提供了<Button * textColor="#ff000000">
,那么无论任何样式中指定了什么,该按钮的文本将始终为黑色。
Parameters | |
---|---|
context |
Context : The Context the view is running in, through which it can access the current theme, resources, etc. |
attrs |
AttributeSet : The attributes of the XML tag that is inflating the view. |
defStyleAttr |
int : An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults. |
defStyleRes |
int : A resource identifier of a style resource that supplies default values for the view, used only if defStyleAttr is 0 or can not be found in the theme. Can be 0 to not look for defaults. |
void addChildrenForAccessibility (ArrayList<View> outChildren)
将此视图的子项添加到给定列表的可访问性中作为输出。 由于一些视图对可访问性并不重要,因此添加的子视图不一定是这种视图的直接子项,而是它们是对可访问性很重要的第一级子孙。
Parameters | |
---|---|
outChildren |
ArrayList : The output list that will receive children for accessibility. |
void addFocusables (ArrayList<View> views, int direction)
添加这个视图的后代的任何可聚焦视图(如果它本身是可聚焦的,可能包括这个视图)到视图。 如果我们处于触摸模式,只添加在触摸模式下也可以对焦的视图。
Parameters | |
---|---|
views |
ArrayList : Focusable views found so far |
direction |
int : The direction of the focus |
void addFocusables (ArrayList<View> views, int direction, int focusableMode)
将视图后代的任何可聚焦视图添加到视图中(可能包括该视图,如果它本身是可聚焦的话)。 如果我们处于触摸模式,则该方法会添加所有可聚焦视图,或者只有在触摸模式下可以聚焦的视图才可以聚焦;如果根据可聚焦模式参数启用了辅助功能,则只有可以使用辅助焦点的视图。
Parameters | |
---|---|
views |
ArrayList : Focusable views found so far or null if all we are interested is the number of focusables. |
direction |
int : The direction of the focus. |
focusableMode |
int : The type of focusables to be added. |
void addOnAttachStateChangeListener (View.OnAttachStateChangeListener listener)
为附加状态更改添加一个侦听器。 这个监听器将在这个视图连接或从窗口分离时被调用。 使用removeOnAttachStateChangeListener(OnAttachStateChangeListener)
删除监听器。
Parameters | |
---|---|
listener |
View.OnAttachStateChangeListener : Listener to attach |
void addOnLayoutChangeListener (View.OnLayoutChangeListener listener)
添加一个监听器,当由于布局处理而导致视图边界发生更改时将会调用该监听器。
Parameters | |
---|---|
listener |
View.OnLayoutChangeListener : The listener that will be called when layout bounds change. |
void addTouchables (ArrayList<View> views)
添加这个视图的后代的任何可触摸的视图(如果它可以自己触摸,可能包括这个视图)到视图。
Parameters | |
---|---|
views |
ArrayList : Touchable views found so far |
ViewPropertyAnimator animate ()
此方法返回一个ViewPropertyAnimator对象,该对象可用于为此视图上的特定属性设置动画。
Returns | |
---|---|
ViewPropertyAnimator |
ViewPropertyAnimator The ViewPropertyAnimator associated with this View. |
void announceForAccessibility (CharSequence text)
用于发送TYPE_ANNOUNCEMENT
AccessibilityEvent
以发布与某种上下文更改相关的通知的便捷方法,其中没有任何代表UI过渡的事件很适合。 例如,在书中宣布新页面。 如果未启用辅助功能,则此方法不起作用。
Parameters | |
---|---|
text |
CharSequence : The announcement text. |
void bringToFront ()
在树中更改视图的z顺序,使其位于其他兄弟视图的顶部。 如果父容器使用依赖订单的布局方案(例如,LinearLayout),则此排序更改可能会影响布局。 在KITKAT
之前,应在此方法之后调用视图的父invalidate()
上的requestLayout()
和invalidate()
,以强制父级重新绘制新的子级次序。
也可以看看:
void buildDrawingCache (boolean autoScale)
如果图纸缓存无效,则强制绘图缓存生成。
如果您在未拨打 buildDrawingCache()
手动拨打 setDrawingCacheEnabled(true)
,则应通过以后拨打 destroyDrawingCache()
清除缓存。
关于兼容模式下自动缩放的注意事项:当未启用自动缩放时,此方法将创建与此视图大小相同的位图。 由于此位图将由父级ViewGroup绘制缩放,因此屏幕上的结果可能会显示缩放工件。 为了避免这种瑕疵,您应该通过将自动缩放设置为true来调用此方法。 但是,这样做会生成与视图大小不同的位图。 这意味着你的应用程序必须能够处理这个大小。
启用硬件加速时,应避免调用此方法。 如果您不需要绘图缓存位图,则调用此方法会增加内存使用并导致视图以软件形式呈现一次,从而对性能产生负面影响。
Parameters | |
---|---|
autoScale |
boolean
|
void buildDrawingCache ()
调用此方法相当于调用 buildDrawingCache(false)
。
也可以看看:
void buildLayer ()
强制创建此视图的图层,并将此视图渲染到其图层中。 如果此视图的图层类型设置为LAYER_TYPE_NONE
,则调用此方法将不起作用。 例如,可以使用此方法在开始动画之前将视图渲染到其图层中。 如果这个视图很复杂,在开始动画之前渲染到图层将避免跳帧。
Throws | |
---|---|
IllegalStateException |
If this view is not attached to a window |
boolean callOnClick ()
直接调用任何附加的OnClickListener。 与performClick()
不同,这只能调用监听器,并且不会执行任何关联的单击操作,如报告可访问性事件。
Returns | |
---|---|
boolean |
True there was an assigned OnClickListener that was called, false otherwise is returned. |
boolean canResolveLayoutDirection ()
检查布局方向分辨率是否可以完成。
Returns | |
---|---|
boolean |
true if layout direction resolution can be done otherwise return false. |
boolean canResolveTextAlignment ()
检查文本对齐分辨率是否可以完成。
Returns | |
---|---|
boolean |
true if text alignment resolution can be done otherwise return false. |
boolean canResolveTextDirection ()
检查文本方向分辨率是否可以完成。
Returns | |
---|---|
boolean |
true if text direction resolution can be done otherwise return false. |
boolean canScrollHorizontally (int direction)
检查此视图是否可以在某个方向上水平滚动。
Parameters | |
---|---|
direction |
int : Negative to check scrolling left, positive to check scrolling right. |
Returns | |
---|---|
boolean |
true if this view can be scrolled in the specified direction, false otherwise. |
boolean canScrollVertically (int direction)
检查该视图是否可以在某个方向上垂直滚动。
Parameters | |
---|---|
direction |
int : Negative to check scrolling up, positive to check scrolling down. |
Returns | |
---|---|
boolean |
true if this view can be scrolled in the specified direction, false otherwise. |
void cancelDragAndDrop ()
取消正在进行的拖放操作。
一个 DragEvent
与对象 getAction()
的价值 ACTION_DRAG_ENDED
和 getResult()
的价值 false
将被发送到每一个接受的观点 ACTION_DRAG_STARTED
,即使他们当前不可见。
该方法可以在与调用 startDragAndDrop
的View相同的窗口中的任何View上调用。
void cancelLongPress ()
取消待处理的长按。 如果用户在同一个地方按下并保持上下文菜单,那么您的子类可以使用它,但如果按下然后移动到足以引起滚动,则不希望它出现。
void cancelPendingInputEvents ()
取消之前发布到事件队列的任何延迟高级输入事件。
许多视图将高级事件(例如点击处理程序)发布到事件队列以运行延迟以保留所需的用户体验 - 在执行之前清除可见的按下状态等。此方法将中止此类性质的当前正在运行的任何事件。
生成自己的高级别延期输入事件的自定义视图应覆盖 onCancelPendingInputEvents()
并从队列中删除这些未决事件。
这也将取消任何子视图的未决输入事件。
请注意,这可能不足以作为所有情况下点击次数的反弹策略。 这不会影响此次调用后发布的较新事件,这些更新事件可能是由于较低级别的输入事件仍在队列中等待而发生的。 如果您想在某种异步事务期间防止重复提交的事件,则还应采取其他措施来防止意外的双重输入,例如调用setEnabled(false)
并在事务完成时重新启用视图,跟踪已提交的事务ID等等
boolean checkInputConnectionProxy (View view)
当非当前输入连接目标的视图试图在管理器上拨打电话时,由InputMethodManager
调用。 默认实现返回false; 如果您正在对它们执行InputConnection代理,则可以覆盖此操作以对某些视图返回true。
Parameters | |
---|---|
view |
View : The View that is making the InputMethodManager call. |
Returns | |
---|---|
boolean |
Return true to allow the call, false to reject. |
void clearFocus ()
当这个观点想要放弃焦点时调用。 如果焦点被清除,则调用onFocusChanged(boolean, int, android.graphics.Rect)
。
注意:当一个视图清除焦点时,框架试图将焦点放在顶部的第一个可聚焦视图上。 因此,如果这个视图是第一个可以关注焦点的视图,那么所有与清除焦点相关的回调都将被调用,之后框架将把焦点放在这个视图上。
int combineMeasuredStates (int curState, int newState)
合并由 getMeasuredState()
返回的两个状态。
Parameters | |
---|---|
curState |
int : The current state as returned from a view or the result of combining multiple views. |
newState |
int : The new view state to combine. |
Returns | |
---|---|
int |
Returns a new integer reflecting the combination of the two states. |
void computeScroll ()
由父级调用,以请求孩子在必要时更新mScrollX和mScrollY的值。 这通常会在孩子使用Scroller
对象动画滚动时Scroller
。
WindowInsets computeSystemWindowInsets (WindowInsets in, Rect outLocalInsets)
计算应该由这个视图消耗的插入和应该传播给它下面的插入。
Parameters | |
---|---|
in |
WindowInsets : Insets currently being processed by this View, likely received as a parameter to onApplyWindowInsets(WindowInsets) . |
outLocalInsets |
Rect : A Rect that will receive the insets that should be consumed by this view |
Returns | |
---|---|
WindowInsets |
Insets that should be passed along to views under this one |
AccessibilityNodeInfo createAccessibilityNodeInfo ()
从AccessibilityNodeInfo
的角度返回代表此视图的AccessibilityService
。 此方法负责从可重用实例池获取可访问节点信息,并在此视图上调用onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo)
以初始化前者。
注意:客户负责通过调用 recycle()
来回收所获得的实例,以最小化对象创建。
Returns | |
---|---|
AccessibilityNodeInfo |
A populated AccessibilityNodeInfo . |
也可以看看:
void createContextMenu (ContextMenu menu)
显示该视图的上下文菜单。 从这种方法返回后按住菜单是不安全的。 您通常不应该重载此方法。 重载onCreateContextMenu(ContextMenu)
或定义一个View.OnCreateContextMenuListener
将项目添加到上下文菜单。
Parameters | |
---|---|
menu |
ContextMenu : The context menu to populate |
void destroyDrawingCache ()
释放绘图缓存使用的资源。 如果您在未拨打buildDrawingCache()
手动拨打setDrawingCacheEnabled(true)
,则应该使用此方法清除缓存。
WindowInsets dispatchApplyWindowInsets (WindowInsets insets)
请求将给定的窗口插件应用于此视图或其子视图中的其他视图。
该方法应由希望应用与由窗饰或覆盖物遮蔽的区域相对应的插图的客户调用。 这可以包括状态和导航栏,操作栏,输入法等等。 未来可能会添加新的插页类别。 该方法返回所提供的插图,减去由此视图或其子项应用的插入。
希望提供自定义行为应该重写客户 onApplyWindowInsets(WindowInsets)
方法或者可选地提供一个 View.OnApplyWindowInsetsListener
经由 setOnApplyWindowInsetsListener
方法。
此方法取代了较早的 fitSystemWindows
方法。
Parameters | |
---|---|
insets |
WindowInsets : Insets to apply |
Returns | |
---|---|
WindowInsets |
The provided insets minus the insets that were consumed |
void dispatchConfigurationChanged (Configuration newConfig)
在视图层次结构下分发有关资源配置更改的通知。 ViewGroups应该覆盖路由到他们的孩子。
Parameters | |
---|---|
newConfig |
Configuration : The new resource configuration. |
void dispatchDisplayHint (int hint)
发出是否显示此视图的提示。 例如,当视图移出屏幕时,它可能会收到显示提示,指示视图不显示。 应用程序不应该依赖这个提示,因为不能保证他们会收到一个。
Parameters | |
---|---|
hint |
int : A hint about whether or not this view is displayed: VISIBLE or INVISIBLE . |
boolean dispatchDragEvent (DragEvent event)
检测此视图是否已启用并具有拖动事件侦听器。 如果两者均为true,则它会使用它收到的DragEvent
调用拖动事件侦听器。 如果拖动事件侦听器返回true
,则dispatchDragEvent()返回true
。
对于所有其他情况,该方法调用 onDragEvent()
拖动事件处理程序方法并返回其结果。
这确保了拖动事件总是被消耗,即使View没有拖动事件监听器。 但是,如果View具有侦听器并且侦听器返回true,则不会调用onDragEvent()。
Parameters | |
---|---|
event |
DragEvent
|
Returns | |
---|---|
boolean |
void dispatchDrawableHotspotChanged (float x, float y)
将drawableHotspotChanged分发给所有此View的子项。
Parameters | |
---|---|
x |
float : hotspot x coordinate |
y |
float : hotspot y coordinate |
void dispatchFinishTemporaryDetach ()
如果这是一个容器视图,则向此视图及其直接子视图发送 onFinishTemporaryDetach()
。
boolean dispatchGenericMotionEvent (MotionEvent event)
派遣一般运动事件。
源类为SOURCE_CLASS_POINTER
通用运动事件被传递到指针下的视图。 所有其他通用运动事件都会传送到重点视图。 悬停事件专门处理并发送至onHoverEvent(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 dispatchKeyEventPreIme (KeyEvent event)
在与视图层次关联的任何输入方法处理关键事件之前分派关键事件。 这可以用于在IME消耗它们之前在特殊情况下截获关键事件; 一个典型的例子是处理BACK键来更新应用程序的UI,而不是让IME看到它并关闭它自己。
Parameters | |
---|---|
event |
KeyEvent : The key event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
boolean dispatchKeyShortcutEvent (KeyEvent event)
分派键快捷键事件。
Parameters | |
---|---|
event |
KeyEvent : The key event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
boolean dispatchNestedFling (float velocityX, float velocityY, boolean consumed)
向嵌套滚动父级派发一个投掷。
应该使用此方法来指示嵌套滚动的孩子已经检测到适用于投掷的适当条件。 通常这意味着触摸滚动以velocity
的滚动方向结束,沿着可滚动的轴线满足或超过minimum fling velocity
。
如果嵌套的滚动子视图通常会抛出,但它位于其自己的内容的边缘,则可以使用此方法代替该嵌套的滚动父级。 父母可以有选择地消费一下,或者观察孩子的情绪。
Parameters | |
---|---|
velocityX |
float : Horizontal fling velocity in pixels per second |
velocityY |
float : Vertical fling velocity in pixels per second |
consumed |
boolean : true if the child consumed the fling, false otherwise |
Returns | |
---|---|
boolean |
true if the nested scrolling parent consumed or otherwise reacted to the fling |
boolean dispatchNestedPreFling (float velocityX, float velocityY)
在此视图处理它之前,将嵌套分派给嵌套的滚动父级。
嵌套的预先掷骰事件是嵌套的掷骰事件,触摸截取是触摸的,嵌套的预滚动是嵌套滚动。 dispatchNestedPreFling
在子视图消耗它之前,为嵌套的一排中的父视图偏移一个机会以完全消耗该dispatchNestedPreFling
。 如果此方法返回true
,则嵌套父视图消耗了该块,并且该视图不应该作为结果滚动。
为了获得更好的用户体验,嵌套滚动链中只有一个视图应该一次使用这个文件。 如果父视图消耗了这个方法,这个方法将返回false。 自定义视图实现应该以两种方式解决这个问题:
dispatchNestedPreFling
; consume the fling and settle to a valid position regardless.视图也不应该在当前不支持滚动的坐标轴上为嵌套父视图提供快速速度; 一个ScrollView
不应该向其父母提供水平的ScrollView
速度,因为沿着该轴的滚动是不允许的,并且沿着该运动传送速度没有意义。
Parameters | |
---|---|
velocityX |
float : Horizontal fling velocity in pixels per second |
velocityY |
float : Vertical fling velocity in pixels per second |
Returns | |
---|---|
boolean |
true if a nested scrolling parent consumed the fling |
boolean dispatchNestedPrePerformAccessibilityAction (int action, Bundle arguments)
向委托处理的此视图的父母报告辅助功能操作。
实现performAccessibilityAction(int, Bundle)
可能会在内部调用此方法将可访问性操作委托给支持父级。 如果父项从其onNestedPrePerformAccessibilityAction(View, int, android.os.Bundle)
方法返回true, onNestedPrePerformAccessibilityAction(View, int, android.os.Bundle)
此方法将返回true以表示该操作已被使用。
此方法对于实现嵌套滚动子视图很有用。 如果isNestedScrollingEnabled()
返回true并且操作是滚动操作,则自定义视图实现可能会调用此方法以允许父级首先使用滚动。 如果此方法返回true,则自定义视图应该跳过它自己的滚动行为。
Parameters | |
---|---|
action |
int : Accessibility action to delegate |
arguments |
Bundle : Optional action arguments |
Returns | |
---|---|
boolean |
true if the action was consumed by a parent |
boolean dispatchNestedPreScroll (int dx, int dy, int[] consumed, int[] offsetInWindow)
在该视图消耗其任何部分之前,调度正在进行的嵌套滚动的一个步骤。
Nested pre-scroll events are to nested scroll events what touch intercept is to touch. dispatchNestedPreScroll
offers an opportunity for the parent view in a nested scrolling operation to consume some or all of the scroll operation before the child view consumes it.
Parameters | |
---|---|
dx |
int : Horizontal scroll distance in pixels |
dy |
int : Vertical scroll distance in pixels |
consumed |
int : Output. If not null, consumed[0] will contain the consumed component of dx and consumed[1] the consumed dy. |
offsetInWindow |
int : Optional. If not null, on return this will contain the offset in local view coordinates of this view from before this operation to after it completes. View implementations may use this to adjust expected input coordinate tracking. |
Returns | |
---|---|
boolean |
true if the parent consumed some or all of the scroll delta |
boolean dispatchNestedScroll (int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow)
发送正在进行的嵌套滚动的一个步骤。
支持嵌套滚动的视图实现应该调用它来报告正在进行的滚动信息到当前嵌套的滚动父项。 如果嵌套滚动当前没有进行,或者对于该视图嵌套滚动不是enabled
,则此方法不执行任何操作。
在使用滚动事件本身的组件之前,兼容的视图实现也应该调用 dispatchNestedPreScroll
。
Parameters | |
---|---|
dxConsumed |
int : Horizontal distance in pixels consumed by this view during this scroll step |
dyConsumed |
int : Vertical distance in pixels consumed by this view during this scroll step |
dxUnconsumed |
int : Horizontal scroll distance in pixels not consumed by this view |
dyUnconsumed |
int : Horizontal scroll distance in pixels not consumed by this view |
offsetInWindow |
int : Optional. If not null, on return this will contain the offset in local view coordinates of this view from before this operation to after it completes. View implementations may use this to adjust expected input coordinate tracking. |
Returns | |
---|---|
boolean |
true if the event was dispatched, false if it could not be dispatched. |
boolean dispatchPopulateAccessibilityEvent (AccessibilityEvent event)
首先将AccessibilityEvent
给View
,然后分配给其子项以将其文本内容添加到事件中。 请注意,事件文本是在单独的调度路径中填充的,因为我们不仅将源文本添加到事件中,而且还添加其所有后代的文本。 一个典型的实现将在这个视图上调用onPopulateAccessibilityEvent(AccessibilityEvent)
,然后调用每个孩子的dispatchPopulateAccessibilityEvent(AccessibilityEvent)
。 如果需要事件文本内容的自定义填充,则覆盖此方法。
如果 View.AccessibilityDelegate
已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)
其 dispatchPopulateAccessibilityEvent(View, AccessibilityEvent)
负责处理此调用。
注意:某些类型的辅助功能事件不会通过此方法分派用于填充事件文本。 详情请参阅AccessibilityEvent
。
Parameters | |
---|---|
event |
AccessibilityEvent : The event. |
Returns | |
---|---|
boolean |
True if the event population was completed. |
void dispatchProvideStructure (ViewStructure structure)
在层次结构中调度创建ViewStructure
。 默认实现调用onProvideStructure(ViewStructure)
和onProvideVirtualStructure(ViewStructure)
。
Parameters | |
---|---|
structure |
ViewStructure
|
void dispatchStartTemporaryDetach ()
如果这是一个容器视图,则向此视图及其直接子视图发送 onStartTemporaryDetach()
。
void dispatchSystemUiVisibilityChanged (int visibility)
向视图层次结构调度回调到 setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener)
。
Parameters | |
---|---|
visibility |
int
|
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. |
boolean dispatchTrackballEvent (MotionEvent event)
将轨迹球运动事件传递给焦点视图。
Parameters | |
---|---|
event |
MotionEvent : The motion event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
boolean dispatchUnhandledMove (View focused, int direction)
此方法是聚焦视图及其祖先响应箭头键的最后机会。 这在焦点视图在内部不消耗密钥时被调用,视图系统也不能在要求的方向上找到新焦点的视图。
Parameters | |
---|---|
focused |
View : The currently focused view. |
direction |
int : The direction focus wants to move. One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT. |
Returns | |
---|---|
boolean |
True if the this view consumed this unhandled move. |
void dispatchWindowFocusChanged (boolean hasFocus)
当包含此视图的窗口获得或失去窗口焦点时调用。 ViewGroups应该覆盖路由到他们的孩子。
Parameters | |
---|---|
hasFocus |
boolean : True if the window containing this view now has focus, false otherwise. |
void dispatchWindowSystemUiVisiblityChanged (int visible)
向视图层次结构调度回调到 onWindowSystemUiVisibilityChanged(int)
。
Parameters | |
---|---|
visible |
int
|
void dispatchWindowVisibilityChanged (int visibility)
向视图层次结构中分派窗口可见性更改。 ViewGroups应该覆盖路由到他们的孩子。
Parameters | |
---|---|
visibility |
int : The new visibility of the window. |
void draw (Canvas canvas)
手动将此视图(及其所有子项)呈现给定的Canvas。 在调用这个函数之前,视图必须已经完成了一个完整的布局。 在实现视图时,实现onDraw(android.graphics.Canvas)
而不是重写此方法。 如果您确实需要重写此方法,请调用超类版本。
Parameters | |
---|---|
canvas |
Canvas : The Canvas to which the View is rendered. |
void drawableHotspotChanged (float x, float y)
只要视图热点更改并需要将其传播到视图管理的可绘制视图或子视图,就会调用此函数。
调度到子视图由 dispatchDrawableHotspotChanged(float, float)
处理。
重写此功能时,一定要调用超类。
Parameters | |
---|---|
x |
float : hotspot x coordinate |
y |
float : hotspot y coordinate |
View findFocus ()
在当前拥有焦点的此视图中植根的层次结构中查找视图。
Returns | |
---|---|
View |
The view that currently has focus, or null if no focused view can be found. |
View findViewById (int id)
使用给定的ID查找子视图。 如果此视图具有给定的ID,则返回此视图。
Parameters | |
---|---|
id |
int : The id to search for. |
Returns | |
---|---|
View |
The view that has the given id in the hierarchy or null |
View findViewWithTag (Object tag)
用给定的标签查找子视图。 如果此视图具有给定的标记,则返回此视图。
Parameters | |
---|---|
tag |
Object : The tag to search for, using "tag.equals(getTag())". |
Returns | |
---|---|
View |
The View that has the given tag in the hierarchy or null |
void findViewsWithText (ArrayList<View> outViews, CharSequence searched, int flags)
查找包含给定文本的视图。 遏制是不区分大小写的。 搜索由视图呈现的文本或描述视图的内容描述执行,以实现辅助功能,视图不呈现或两者兼而有之。 客户可以通过传递FIND_VIEWS_WITH_TEXT
和FIND_VIEWS_WITH_CONTENT_DESCRIPTION
标志来指定如何执行搜索。
Parameters | |
---|---|
outViews |
ArrayList : The output list of matching Views. |
searched |
CharSequence : The text to match against. |
flags |
int
|
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. |
void forceHasOverlappingRendering (boolean hasOverlappingRendering)
设置此视图重叠呈现的行为(有关此行为的更多详细信息,请参阅hasOverlappingRendering()
)。 调用此方法是替代子类中的hasOverlappingRendering()
的替代方法,提供了在内部使用的值。 也就是说,当forceHasOverlappingRendering(boolean)
时,将忽略hasOverlappingRendering()
的值,并使用传递给此方法的值代替。
相关XML属性:
Parameters | |
---|---|
hasOverlappingRendering |
boolean : The value for overlapping rendering to be used internally instead of that returned by hasOverlappingRendering() . |
void forceLayout ()
强制该视图在下一个布局过程中布置。 此方法不会在父级调用requestLayout()或forceLayout()。
int generateViewId ()
生成一个适用于setId(int)
的值。 此值不会与构建时由aapt生成的ID值相冲突。
Returns | |
---|---|
int |
a generated ID value |
CharSequence getAccessibilityClassName ()
返回此对象的类名称以用于辅助功能。 如果子类正在实现的东西应该被视为一个全新的视图类,当它被可访问性使用时,子类只应该覆盖这个子类,与它所源自的类无关。 这用于填写AccessibilityNodeInfo.setClassName
。
Returns | |
---|---|
CharSequence |
int getAccessibilityLiveRegion ()
获取此视图的实时区域模式。
相关XML属性:
Returns | |
---|---|
int |
The live region mode for the view. |
AccessibilityNodeProvider getAccessibilityNodeProvider ()
获取用于管理以此视图为根的虚拟视图层次结构的提供程序,并报告探索窗口内容的 AccessibilityService
。
如果此方法返回一个实例,则此实例负责管理AccessibilityNodeInfo
s,描述以此视图为根的虚拟子树,包括代表视图本身的虚拟子树。 同样,返回的实例负责在任何虚拟视图或根视图本身上执行辅助功能操作。
If an View.AccessibilityDelegate
has been specified via calling setAccessibilityDelegate(AccessibilityDelegate)
its getAccessibilityNodeProvider(View)
is responsible for handling this call.
Returns | |
---|---|
AccessibilityNodeProvider |
The provider. |
也可以看看:
int getAccessibilityTraversalAfter ()
获取视图的ID,之后在可访问性遍历中访问此视图的ID。
Returns | |
---|---|
int |
The id of a view this one succeedes in accessibility traversal if specified, otherwise NO_ID . |
int getAccessibilityTraversalBefore ()
获取在可访问性遍历中访问此视图之前的视图的ID。
Returns | |
---|---|
int |
The id of a view this one precedes in accessibility traversal if specified, otherwise NO_ID . |
float getAlpha ()
视图的不透明度。 这是从0到1的值,其中0表示视图完全透明,1表示视图完全不透明。
默认情况下这是1.0f。
Returns | |
---|---|
float |
The opacity of the view. |
Animation getAnimation ()
获取当前与此视图关联的动画。
Returns | |
---|---|
Animation |
The animation that is currently playing or scheduled to play for this view. |
IBinder getApplicationWindowToken ()
检索标识该视图所附窗口的顶层“真实”窗口的唯一令牌。 也就是说,这就像getWindowToken()
,除非这个视图的窗口是一个面板窗口(连接到另一个包含窗口的窗口),否则返回包含窗口的标记。
Returns | |
---|---|
IBinder |
Returns the associated window token, either getWindowToken() or the containing window's token. |
Drawable getBackground ()
获取可绘制的背景
相关XML属性:
Returns | |
---|---|
Drawable |
The drawable used as the background for this view, if any. |
也可以看看:
ColorStateList getBackgroundTintList ()
如果指定,返回应用于背景可绘制的色调。
相关XML属性:
Returns | |
---|---|
ColorStateList |
the tint applied to the background drawable |
PorterDuff.Mode getBackgroundTintMode ()
如果指定,则返回用于将色调应用于背景可绘制的混合模式。
相关XML属性:
Returns | |
---|---|
PorterDuff.Mode |
the blending mode used to apply the tint to the background drawable |
int getBaseline ()
从小部件的顶部边界返回小部件文本基线的偏移量。 如果此小部件不支持基线对齐,则此方法返回-1。
Returns | |
---|---|
int |
the offset of the baseline within the widget's bounds or -1 if baseline alignment is not supported |
int getBottom ()
此视图的底部位置相对于其父项。
Returns | |
---|---|
int |
The bottom of this view, in pixels. |
float getCameraDistance ()
获取沿着Z轴从相机到该视图的距离。
Returns | |
---|---|
float |
The distance along the Z axis. |
也可以看看:
boolean getClipBounds (Rect outRect)
填充的输出矩形视图的剪辑范围,返回 true
如果成功或 false
如果视图的剪辑范围是 null
。
Parameters | |
---|---|
outRect |
Rect : rectangle in which to place the clip bounds of the view |
Returns | |
---|---|
boolean |
true if successful or false if the view's clip bounds are null |
Rect getClipBounds ()
返回当前 clipBounds
的副本。
Returns | |
---|---|
Rect |
A copy of the current clip bounds if clip bounds are set, otherwise null. |
boolean getClipToOutline ()
返回是否应该使用大纲剪辑视图的内容。
请注意,只有当视图的轮廓从 canClip()
返回true时, canClip()
遵守此标志。
Returns | |
---|---|
boolean |
CharSequence getContentDescription ()
返回 View
的内容描述。
注意:不要重写此方法,因为它将不会影响呈现给辅助功能服务的内容描述。 您必须致电setContentDescription(CharSequence)
修改内容说明。
相关XML属性:
Returns | |
---|---|
CharSequence |
the content description |
Context getContext ()
返回视图运行的上下文,通过它可以访问当前主题,资源等。
Returns | |
---|---|
Context |
The view's Context. |
int getDefaultSize (int size, int measureSpec)
实用程序返回默认大小。 如果MeasureSpec没有强制约束,则使用提供的大小。 如果MeasureSpec允许,将会变大。
Parameters | |
---|---|
size |
int : Default size for this view |
measureSpec |
int : Constraints imposed by the parent |
Returns | |
---|---|
int |
The size this view should be. |
Display getDisplay ()
获取视图的窗口已附加到的逻辑显示。
Returns | |
---|---|
Display |
The logical display, or null if the view is not currently attached to a window. |
int[] getDrawableState ()
返回表示视图当前状态的可绘制状态的资源ID数组。
Returns | |
---|---|
int[] |
The current drawable state |
Bitmap getDrawingCache ()
Calling this method is equivalent to calling getDrawingCache(false)
.
Returns | |
---|---|
Bitmap |
A non-scaled bitmap representing this view or null if cache is disabled. |
也可以看看:
Bitmap getDrawingCache (boolean autoScale)
返回缓存此视图图形的位图。 禁用缓存时返回的位图为空。 如果启用缓存并且缓存未准备好,则此方法将创建它。 当缓存启用时,调用draw(android.graphics.Canvas)
不会从缓存中获取。 要从缓存中受益,必须通过调用此方法来请求图形缓存,并在返回的位图不为空时将其绘制在屏幕上。
关于兼容模式下自动缩放的注意事项:当未启用自动缩放时,此方法将创建与此视图大小相同的位图。 由于此位图将由父级ViewGroup绘制缩放,因此屏幕上的结果可能会显示缩放工件。 为了避免这种瑕疵,您应该通过将自动缩放设置为true来调用此方法。 但是,这样做会生成与视图大小不同的位图。 这意味着你的应用程序必须能够处理这个大小。
Parameters | |
---|---|
autoScale |
boolean : Indicates whether the generated bitmap should be scaled based on the current density of the screen when the application is in compatibility mode. |
Returns | |
---|---|
Bitmap |
A bitmap representing this view or null if cache is disabled. |
int getDrawingCacheBackgroundColor ()
Returns | |
---|---|
int |
The background color to used for the drawing cache's bitmap |
int getDrawingCacheQuality ()
返回绘图缓存的质量。
相关XML属性:
Returns | |
---|---|
int |
One of DRAWING_CACHE_QUALITY_AUTO , DRAWING_CACHE_QUALITY_LOW , or DRAWING_CACHE_QUALITY_HIGH |
void getDrawingRect (Rect outRect)
返回视图的可见绘图边界。 使用getScrollX(),getScrollY(),getWidth()和getHeight()中的值填充输出矩形。 这些界限不考虑当前在视图上设置的任何转换属性,例如setScaleX(float)
或setRotation(float)
。
Parameters | |
---|---|
outRect |
Rect : The (scrolled) drawing bounds of the view. |
long getDrawingTime ()
返回开始绘制视图层次结构的时间。
Returns | |
---|---|
long |
the drawing start time in milliseconds |
float getElevation ()
此视图相对于其父项的基础高程,以像素为单位。
Returns | |
---|---|
float |
The base depth position of the view, in pixels. |
boolean getFilterTouchesWhenObscured ()
当视图的窗口被另一个可见窗口遮挡时,获取框架是否应放弃触摸。 有关更多详细信息,请参阅View
安全性文档。
相关XML属性:
Returns | |
---|---|
boolean |
True if touch filtering is enabled. |
boolean getFitsSystemWindows ()
检查状态setFitsSystemWindows(boolean)
。 如果此方法返回true
,则将执行fitSystemWindows(Rect)
的默认实现。
相关XML属性:
Returns | |
---|---|
boolean |
true if the default implementation of fitSystemWindows(Rect) will be executed. |
ArrayList<View> getFocusables (int direction)
查找并返回这个视图的后代的所有可聚焦视图,如果它本身是可聚焦的,则可能包括此视图。
Parameters | |
---|---|
direction |
int : The direction of the focus |
Returns | |
---|---|
ArrayList<View> |
A list of focusable views |
void getFocusedRect (Rect r)
当视图具有焦点并且用户离开它时,从该方法填充的矩形开始搜索下一个视图。 默认情况下,矩形是视图的getDrawingRect(android.graphics.Rect)
)。 但是,如果您的视图保留了内部选择的一些想法,例如游标或选定的行或列,则应该重写此方法并填入更具体的矩形。
Parameters | |
---|---|
r |
Rect : The rectangle to fill in, in this view's coordinates. |
Drawable getForeground ()
返回用作此视图前景的绘图。 可绘制的前景(如果非null)始终绘制在视图内容的顶部。
Returns | |
---|---|
Drawable |
a Drawable or null if no foreground was set |
也可以看看:
int getForegroundGravity ()
描述前景如何定位。
相关XML属性:
Returns | |
---|---|
int |
foreground gravity. |
也可以看看:
ColorStateList getForegroundTintList ()
如果指定,则返回应用于可绘制前景的色调。
相关XML属性:
Returns | |
---|---|
ColorStateList |
the tint applied to the foreground drawable |
PorterDuff.Mode getForegroundTintMode ()
如果指定,将用于应用色调的混合模式返回到可绘制的前景。
相关XML属性:
Returns | |
---|---|
PorterDuff.Mode |
the blending mode used to apply the tint to the foreground drawable |
boolean getGlobalVisibleRect (Rect r)
Parameters | |
---|---|
r |
Rect
|
Returns | |
---|---|
boolean |
boolean getGlobalVisibleRect (Rect r, Point globalOffset)
如果这个视图的某个部分没有被父节点的任何部分剪切掉,那么用r全局(根)坐标返回该区域。 为了将r转换为本地坐标(不考虑可能的View旋转),用-globalOffset(egroffset(-globalOffset.x,-globalOffset.y))将其偏移。 如果视图被完全剪切或翻译出来,则返回false。
Parameters | |
---|---|
r |
Rect : If true is returned, r holds the global coordinates of the visible portion of this view. |
globalOffset |
Point : If true is returned, globalOffset holds the dx,dy between this view and its root. globalOffet may be null. |
Returns | |
---|---|
boolean |
true if r is non-empty (i.e. part of the view is visible at the root level. |
Handler getHandler ()
Returns | |
---|---|
Handler |
A handler associated with the thread running the View. This handler can be used to pump events in the UI events queue. |
boolean getHasOverlappingRendering ()
返回内部使用的重叠渲染值。 这可以是值传递到forceHasOverlappingRendering(boolean)
,如果调用,或返回值hasOverlappingRendering()
,否则。
Returns | |
---|---|
boolean |
The value for overlapping rendering being used internally. |
int getHeight ()
返回视图的高度。
Returns | |
---|---|
int |
The height of your view, in pixels. |
void getHitRect (Rect outRect)
在父坐标中点击矩形
Parameters | |
---|---|
outRect |
Rect : The hit rectangle of the view. |
int getHorizontalFadingEdgeLength ()
返回用于指示此视图中更多内容可见的水平渐变边的大小。
相关XML属性:
Returns | |
---|---|
int |
The size in pixels of the horizontal faded edge or 0 if horizontal faded edges are not enabled for this view. |
int getId ()
返回此视图的标识符。
相关XML属性:
Returns | |
---|---|
int |
a positive integer used to identify the view or NO_ID if the view has no ID |
也可以看看:
int getImportantForAccessibility ()
获取用于确定此视图是否对可访问性很重要的模式,即是否触发辅助功能事件并将其报告给查询屏幕的辅助功能服务。
相关XML属性:
Returns | |
---|---|
int |
The mode for determining whether a View is important for accessibility. |
boolean getKeepScreenOn ()
返回屏幕是否应保持打开,对应于当前值 KEEP_SCREEN_ON
。
相关XML属性:
Returns | |
---|---|
boolean |
Returns true if KEEP_SCREEN_ON is set. |
也可以看看:
KeyEvent.DispatcherState getKeyDispatcherState ()
为此视图的窗口返回全局KeyEvent.DispatcherState
。 如果视图当前未附加到窗口,则返回null。 通常情况下,您不需要直接使用它,只需使用标准的高级别事件回调,如onKeyDown(int, KeyEvent)
。
Returns | |
---|---|
KeyEvent.DispatcherState |
int getLabelFor ()
获取视图的id,此视图用作可访问性标签。
Returns | |
---|---|
int |
The labeled view id. |
int getLayerType ()
指示当前与此视图关联的图层类型。 默认情况下,视图没有图层,图层类型为LAYER_TYPE_NONE
。 有关不同类型图层的更多信息,请参阅文档setLayerType(int, android.graphics.Paint)
。
Returns | |
---|---|
int |
LAYER_TYPE_NONE , LAYER_TYPE_SOFTWARE or LAYER_TYPE_HARDWARE |
int getLayoutDirection ()
返回此视图的已解析布局方向。
相关XML属性:
Returns | |
---|---|
int |
LAYOUT_DIRECTION_RTL if the layout direction is RTL or returns LAYOUT_DIRECTION_LTR if the layout direction is not RTL. For compatibility, this will return LAYOUT_DIRECTION_LTR if API version is lower than JELLY_BEAN_MR1 . |
ViewGroup.LayoutParams getLayoutParams ()
获取与此视图关联的LayoutParams。 所有视图都应该有布局参数。 这些视图的父级提供参数,指定应如何安排。 ViewGroup.LayoutParams有许多子类,它们对应ViewGroup的不同子类,它们负责安排子级。 如果此视图未附加到父视图组或未成功调用setLayoutParams(android.view.ViewGroup.LayoutParams)
则此方法可能会返回null。 当View被附加到父ViewGroup时,该方法不能返回null。
Returns | |
---|---|
ViewGroup.LayoutParams |
The LayoutParams associated with this view, or null if no parameters have been set yet |
int getLeft ()
此视图相对于其父项的左侧位置。
Returns | |
---|---|
int |
The left edge of this view, in pixels. |
boolean getLocalVisibleRect (Rect r)
Parameters | |
---|---|
r |
Rect
|
Returns | |
---|---|
boolean |
void getLocationInWindow (int[] outLocation)
在其窗口中计算此视图的坐标。 参数必须是两个整数的数组。 该方法返回后,该数组按顺序包含x和y位置。
Parameters | |
---|---|
outLocation |
int : an array of two integers in which to hold the coordinates |
void getLocationOnScreen (int[] outLocation)
计算屏幕上该视图的坐标。 参数必须是两个整数的数组。 该方法返回后,该数组按顺序包含x和y位置。
Parameters | |
---|---|
outLocation |
int : an array of two integers in which to hold the coordinates |
Matrix getMatrix ()
该视图的变换矩阵,根据当前的旋转,缩放和透视属性进行计算。
Returns | |
---|---|
Matrix |
The current transform matrix for the view |
int getMeasuredHeight ()
像 getMeasuredHeightAndState()
一样,但只返回原始宽度分量(即结果被 MEASURED_SIZE_MASK
屏蔽)。
Returns | |
---|---|
int |
The raw measured height of this view. |
int getMeasuredHeightAndState ()
按照最近致电measure(int, int)
计算结果,返回此视图的全高度测量信息。 该结果是由MEASURED_SIZE_MASK
和MEASURED_STATE_TOO_SMALL
定义的位掩码。 这只应在测量和布局计算中使用。 使用getHeight()
查看布局后视图的宽度。
Returns | |
---|---|
int |
The measured width of this view as a bit mask. |
int getMeasuredState ()
仅返回状态位getMeasuredWidthAndState()
和getMeasuredHeightAndState()
,合并为一个整数。 宽度分量位于常规位MEASURED_STATE_MASK
,高度分量位于位移位MEASURED_HEIGHT_STATE_SHIFT
>> MEASURED_STATE_MASK
。
Returns | |
---|---|
int |
int getMeasuredWidth ()
像 getMeasuredWidthAndState()
一样,但只返回原始宽度分量(即结果被 MEASURED_SIZE_MASK
屏蔽)。
Returns | |
---|---|
int |
The raw measured width of this view. |
int getMeasuredWidthAndState ()
按照最近致电measure(int, int)
计算结果返回该视图的全宽度测量信息。 该结果是由MEASURED_SIZE_MASK
和MEASURED_STATE_TOO_SMALL
定义的位掩码。 这只应在测量和布局计算中使用。 使用getWidth()
查看布局后视图的宽度。
Returns | |
---|---|
int |
The measured width of this view as a bit mask. |
int getMinimumHeight ()
返回视图的最小高度。
相关XML属性:
Returns | |
---|---|
int |
the minimum height the view will try to be. |
也可以看看:
int getMinimumWidth ()
返回视图的最小宽度。
相关XML属性:
Returns | |
---|---|
int |
the minimum width the view will try to be. |
也可以看看:
int getNextFocusDownId ()
获取下一个焦点为 FOCUS_DOWN
时要使用的视图的ID。
相关XML属性:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
int getNextFocusForwardId ()
获取下一个焦点为 FOCUS_FORWARD
时使用的视图的ID。
相关XML属性:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
int getNextFocusLeftId ()
获取下一个焦点为 FOCUS_LEFT
时要使用的视图的ID。
相关XML属性:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
int getNextFocusRightId ()
获取下一个焦点为 FOCUS_RIGHT
时要使用的视图的ID。
相关XML属性:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
int getNextFocusUpId ()
获取下一个焦点为 FOCUS_UP
时使用的视图的ID。
相关XML属性:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
View.OnFocusChangeListener getOnFocusChangeListener ()
返回为此视图注册的焦点更改回调。
Returns | |
---|---|
View.OnFocusChangeListener |
The callback, or null if one is not registered. |
ViewOutlineProvider getOutlineProvider ()
返回视图的当前 ViewOutlineProvider
,该视图生成定义它投射的阴影形状的Outline,并启用轮廓剪切。
Returns | |
---|---|
ViewOutlineProvider |
int getOverScrollMode ()
返回此视图的过卷模式。 结果将是OVER_SCROLL_ALWAYS
(默认), OVER_SCROLL_IF_CONTENT_SCROLLS
(仅当视图内容大于容器时允许过度滚动)或OVER_SCROLL_NEVER
。
Returns | |
---|---|
int |
This view's over-scroll mode. |
ViewOverlay getOverlay ()
返回此视图的叠加层,如果它尚不存在,则创建它。 向叠加层添加可绘制对象将导致在视图本身重绘时显示它们。 叠加层中的对象应该被主动管理:当它们不应该被显示时将它们删除。 覆盖图将始终具有与其主机视图相同的大小。
注意:叠加层目前不能与SurfaceView
或TextureView
正常工作; 这些类型视图的重叠内容可能无法正确显示。
Returns | |
---|---|
ViewOverlay |
The ViewOverlay object for this view. |
也可以看看:
int getPaddingBottom ()
返回此视图的底部填充。 如果有插入和启用滚动条,则此值可能还包括显示滚动条所需的空间。
Returns | |
---|---|
int |
the bottom padding in pixels |
int getPaddingEnd ()
根据解析后的布局方向返回此视图的结尾填充。 如果有插入和启用滚动条,则此值可能还包括显示滚动条所需的空间。
Returns | |
---|---|
int |
the end padding in pixels |
int getPaddingLeft ()
返回此视图的左侧填充。 如果有插入和启用滚动条,则此值可能还包括显示滚动条所需的空间。
Returns | |
---|---|
int |
the left padding in pixels |
int getPaddingRight ()
返回此视图的正确填充。 如果有插入和启用滚动条,则此值可能还包括显示滚动条所需的空间。
Returns | |
---|---|
int |
the right padding in pixels |
int getPaddingStart ()
根据解析的布局方向返回此视图的开始填充。 如果有插入和启用滚动条,则此值可能还包括显示滚动条所需的空间。
Returns | |
---|---|
int |
the start padding in pixels |
int getPaddingTop ()
返回此视图的顶部填充。
Returns | |
---|---|
int |
the top padding in pixels |
ViewParent getParent ()
获取此视图的父级。 请注意,父级是ViewParent,不一定是View。
Returns | |
---|---|
ViewParent |
Parent of this view. |
ViewParent getParentForAccessibility ()
获取父级的可访问性。 请注意,可访问性的父级不需要直接父级。 这是第一个对可访问性非常重要的前身。
Returns | |
---|---|
ViewParent |
The parent for accessibility purposes. |
float getPivotX ()
相关XML属性:
Returns | |
---|---|
float |
The x location of the pivot point. |
float getPivotY ()
相关XML属性:
Returns | |
---|---|
float |
The y location of the pivot point. |
Resources getResources ()
返回与此视图关联的资源。
Returns | |
---|---|
Resources |
Resources object. |
int getRight ()
此视图相对于其父项的正确位置。
Returns | |
---|---|
int |
The right edge of this view, in pixels. |
View getRootView ()
在当前视图层次结构中查找最顶层的视图。
Returns | |
---|---|
View |
the topmost view containing this view |
WindowInsets getRootWindowInsets ()
提供调度到视图层次结构的原始WindowInsets。 只有在附加视图时,插图才可用。
Returns | |
---|---|
WindowInsets |
WindowInsets from the top of the view hierarchy or null if View is detached |
float getRotation ()
视图围绕枢轴点旋转的角度。
Returns | |
---|---|
float |
The degrees of rotation. |
float getRotationX ()
视图围绕通过枢轴点的水平轴旋转的角度。
Returns | |
---|---|
float |
The degrees of X rotation. |
float getRotationY ()
视图围绕通过枢轴点的垂直轴旋转的角度。
Returns | |
---|---|
float |
The degrees of Y rotation. |
float getScaleX ()
视图以x为中心在视点的未缩放宽度中的比例绕x轴缩放。 值1(默认值)表示不应用缩放。
默认情况下,这是1.0f。
Returns | |
---|---|
float |
The scaling factor. |
也可以看看:
float getScaleY ()
视图在y轴周围缩放的数量,作为视图未缩放高度的一部分。 值1(默认值)表示不应用缩放。
默认情况下,这是1.0f。
Returns | |
---|---|
float |
The scaling factor. |
也可以看看:
int getScrollBarDefaultDelayBeforeFade ()
返回滚动条淡入之前的延迟。
相关XML属性:
Returns | |
---|---|
int |
the delay before scrollbars fade |
int getScrollBarFadeDuration ()
返回滚动条淡入时间。
相关XML属性:
Returns | |
---|---|
int |
the scrollbar fade duration |
int getScrollBarSize ()
返回滚动条大小。
相关XML属性:
Returns | |
---|---|
int |
the scrollbar size |
int getScrollBarStyle ()
返回当前的滚动条样式。
相关XML属性:
Returns | |
---|---|
int |
the current scrollbar style |
int getScrollIndicators ()
返回表示启用的滚动指示符的位掩码。
例如,如果顶部和左侧滚动指示器已启用,并且所有其他指示器均被禁用,则返回值将为 View.SCROLL_INDICATOR_TOP | View.SCROLL_INDICATOR_LEFT
。
要检查底部滚动指示器是否已启用,请使用值 (getScrollIndicators() & View.SCROLL_INDICATOR_BOTTOM) != 0
。
Returns | |
---|---|
int |
a bitmask representing the enabled scroll indicators |
int getScrollX ()
返回此视图的滚动左侧位置。 这是您视图的显示部分的左边缘。 您不需要画更远的像素,因为那些像素在屏幕上的视图框架之外。
Returns | |
---|---|
int |
The left edge of the displayed part of your view, in pixels. |
int getScrollY ()
返回此视图的滚动顶部位置。 这是您视图显示部分的顶部边缘。 您不需要在其上绘制任何像素,因为那些像素在屏幕上的视图框架之外。
Returns | |
---|---|
int |
The top edge of the displayed part of your view, in pixels. |
int getSolidColor ()
如果已知视图始终在纯色背景上绘制,并需要绘制渐变边缘,则覆盖此视图。 返回非零颜色使视图系统能够优化衰落边缘的绘制。 如果您确实返回非零颜色,则应将alpha设置为0xFF。
Returns | |
---|---|
int |
The known solid color background for this view, or 0 if the color may vary |
StateListAnimator getStateListAnimator ()
如果存在,则返回当前的StateListAnimator。
Returns | |
---|---|
StateListAnimator |
StateListAnimator or null if it does not exists |
int getSystemUiVisibility ()
返回此视图请求的最后 setSystemUiVisibility(int)
。
Object getTag ()
返回此视图的标记。
Returns | |
---|---|
Object |
the Object stored in this view as a tag, or null if not set |
也可以看看:
Object getTag (int key)
返回与此视图和指定键相关联的标记。
Parameters | |
---|---|
key |
int : The key identifying the tag |
Returns | |
---|---|
Object |
the Object stored in this view as a tag, or null if not set |
也可以看看:
int getTextAlignment ()
返回已解析的文本对齐。
相关XML属性:
Returns | |
---|---|
int |
the resolved text alignment. Returns one of: TEXT_ALIGNMENT_GRAVITY , TEXT_ALIGNMENT_CENTER , TEXT_ALIGNMENT_TEXT_START , TEXT_ALIGNMENT_TEXT_END , TEXT_ALIGNMENT_VIEW_START , TEXT_ALIGNMENT_VIEW_END |
int getTextDirection ()
返回已解析的文本方向。
相关XML属性:
Returns | |
---|---|
int |
the resolved text direction. Returns one of: TEXT_DIRECTION_FIRST_STRONG , TEXT_DIRECTION_ANY_RTL , TEXT_DIRECTION_LTR , TEXT_DIRECTION_RTL , TEXT_DIRECTION_LOCALE , TEXT_DIRECTION_FIRST_STRONG_LTR , TEXT_DIRECTION_FIRST_STRONG_RTL |
int getTop ()
此视图相对于其父项的顶部位置。
Returns | |
---|---|
int |
The top of this view, in pixels. |
TouchDelegate getTouchDelegate ()
获取此视图的TouchDelegate。
Returns | |
---|---|
TouchDelegate |
ArrayList<View> getTouchables ()
查找并返回所有这个视图后代的可触摸视图,如果它可以自己触摸,可能会包含此视图。
Returns | |
---|---|
ArrayList<View> |
A list of touchable views |
String getTransitionName ()
返回用于在转换中标识视图的视图的名称。 名称在视图层次结构中应该是唯一的。
如果View没有被赋予名字,则返回null。
Returns | |
---|---|
String |
The name used of the View to be used to identify Views in Transitions or null if no name has been given. |
float getTranslationX ()
此视图的水平位置相对于其left
位置。 除了对象的布局放置它之外,此位置是布局后布局。
Returns | |
---|---|
float |
The horizontal position of this view relative to its left position, in pixels. |
float getTranslationY ()
该视图的垂直位置相对于其top
位置。 除了对象的布局放置它之外,此位置是布局后布局。
Returns | |
---|---|
float |
The vertical position of this view relative to its top position, in pixels. |
float getTranslationZ ()
该视图的深度位置相对于其 elevation
。
Returns | |
---|---|
float |
The depth of this view relative to its elevation. |
int getVerticalFadingEdgeLength ()
返回用于指示此视图中更多内容可见的垂直渐变边的大小。
相关XML属性:
Returns | |
---|---|
int |
The size in pixels of the vertical faded edge or 0 if vertical faded edges are not enabled for this view. |
int getVerticalScrollbarPosition ()
Returns | |
---|---|
int |
The position where the vertical scroll bar will show, if applicable. |
int getVerticalScrollbarWidth ()
返回垂直滚动条的宽度。
Returns | |
---|---|
int |
The width in pixels of the vertical scrollbar or 0 if there is no vertical scrollbar. |
ViewTreeObserver getViewTreeObserver ()
返回此视图层次结构的ViewTreeObserver。 视图树观察者可用于在发生全局事件(如布局)时收到通知。 不保证返回的ViewTreeObserver观察者在此视图的生命周期内保持有效。 如果此方法的调用方保留对ViewTreeObserver的长时间引用,则应始终检查返回值isAlive()
。
Returns | |
---|---|
ViewTreeObserver |
The ViewTreeObserver for this view's hierarchy. |
int getVisibility ()
返回此视图的可见性状态。
相关XML属性:
Returns | |
---|---|
int |
One of VISIBLE , INVISIBLE , or GONE . |
int getWidth ()
返回你的视图的宽度。
Returns | |
---|---|
int |
The width of your view, in pixels. |
WindowId getWindowId ()
检索此视图当前附加到的窗口的 WindowId
。
Returns | |
---|---|
WindowId |
int getWindowSystemUiVisibility ()
返回当前为整个窗口设置的系统UI可见性。 这是窗口中所有视图提供的setSystemUiVisibility(int)
值的组合。
Returns | |
---|---|
int |
IBinder getWindowToken ()
检索标识该视图附加到的窗口的唯一标记。
Returns | |
---|---|
IBinder |
Return the window's token for use in WindowManager.LayoutParams.token . |
int getWindowVisibility ()
返回此视图被附接到(或者窗口的当前可见性 GONE
, INVISIBLE
,或 VISIBLE
)。
Returns | |
---|---|
int |
Returns the current visibility of the view's window. |
void getWindowVisibleDisplayFrame (Rect outRect)
检索此视图附加到的窗口的整体可见显示大小。这考虑到了窗口上方的屏幕装饰,对于窗口本身位于其内部或窗口置于其下的两种情况然后使用覆盖的插图将窗口放置在内部。 实际上,这会告诉您可以放置内容的区域,并保持用户可见。
该功能要求IPC返回窗口管理器来检索请求的信息,因此不应该用于像绘图那样的性能关键代码。
Parameters | |
---|---|
outRect |
Rect : Filled in with the visible display frame. If the view is not attached to a window, this is simply the raw display size. |
float getX ()
此视图的视觉x位置,以像素为单位。 这相当于translationX
属性加上当前的left
属性。
Returns | |
---|---|
float |
The visual x position of this view, in pixels. |
float getY ()
此视图的视觉y位置(以像素为单位)。 这相当于translationY
属性加上当前的top
属性。
Returns | |
---|---|
float |
The visual y position of this view, in pixels. |
float getZ ()
此视图的可视z位置,以像素为单位。 这相当于translationZ
财产加上当前elevation
财产。
Returns | |
---|---|
float |
The visual z position of this view, in pixels. |
boolean hasFocus ()
如果此视图具有焦点本身,或者是具有焦点的视图的祖先,则返回true。
Returns | |
---|---|
boolean |
True if this view has or contains focus, false otherwise. |
boolean hasFocusable ()
如果此视图是可聚焦的,或者它包含可访问的View, hasFocusable()
返回true,其中hasFocusable()
返回true。 “可达hasFocusable()”是父母不阻止后代关注的视图。 只有VISIBLE
视图被认为是可以关注的。
Returns | |
---|---|
boolean |
True if the view is focusable or if the view contains a focusable View, false otherwise. |
boolean hasNestedScrollingParent ()
如果此视图具有嵌套滚动父级,则返回true。
嵌套滚动父项的存在表示该视图已启动嵌套滚动,并且被视图层次结构的更上层的祖先视图接受。
Returns | |
---|---|
boolean |
whether this view has a nested scrolling parent |
boolean hasOnClickListeners ()
返回此视图是否具有附加的OnClickListener。 如果存在侦听器,则返回true;如果没有侦听器,则返回false。
Returns | |
---|---|
boolean |
boolean hasOverlappingRendering ()
返回此视图是否包含重叠的内容。
打算被特定视图类型覆盖的此函数是在视图上设置alpha时的优化。 如果渲染在alpha <1的视图中重叠,则该视图将被拖到屏幕外的缓冲区,然后合成到位,这可能很昂贵。 如果视图没有重叠的渲染,视图可以直接用适当的alpha值绘制每个基元。 重叠渲染的一个例子是带有背景图像的TextView,例如Button。 非重叠渲染的一个例子是没有背景的TextView或只有前景图像的ImageView。 默认实现返回true; 如果子类有可以优化的情况,子类应该重写。
当前实现在saveLayer和saveLayerAlpha方法 Canvas
必要,一个视图,如果它使用的方法在内部,而没有经过返回true CLIP_TO_LAYER_SAVE_FLAG
。
注意:如果在此视图上调用了 forceHasOverlappingRendering(boolean)
,则此方法的返回值将被忽略。
Returns | |
---|---|
boolean |
true if the content in this view might overlap, false otherwise. |
boolean hasTransientState ()
指示视图当前是否跟踪暂时状态,即应用程序不需要关心保存和还原,但是框架应该特别注意在可能的情况下保留。
具有临时状态的视图不能从外部数据源轻松地重新启动,例如列表中的适配器绑定项目视图。 这可能是因为视图正在执行动画,跟踪用户对内容的选择等。
Returns | |
---|---|
boolean |
true if the view has transient state |
boolean hasWindowFocus ()
如果此视图位于当前具有窗口焦点的窗口中,则返回true。 请注意,这不同于视图本身的焦点。
Returns | |
---|---|
boolean |
True if this view is in a window that currently has window focus. |
View inflate (Context context, int resource, ViewGroup root)
从XML资源膨胀一个视图。 这种便利的方法包装了LayoutInflater
类,它提供了查看膨胀的全方位选项。
Parameters | |
---|---|
context |
Context : The Context object for your activity or application. |
resource |
int : The resource ID to inflate |
root |
ViewGroup : A view group that will be the parent. Used to properly inflate the layout_* parameters. |
Returns | |
---|---|
View |
也可以看看:
void invalidate ()
使整个视图无效。 如果视图可见, onDraw(android.graphics.Canvas)
将来会调用onDraw(android.graphics.Canvas)
。
这必须从UI线程调用。 要从非UI线程调用,请致电postInvalidate()
。
void invalidate (Rect dirty)
将由脏定义的区域标记为需要绘制。 如果视图可见, onDraw(android.graphics.Canvas)
在未来某个时刻调用onDraw(android.graphics.Canvas)
。
这必须从UI线程调用。 要从非UI线程调用,请致电postInvalidate()
。
警告:在API 19及以下版本中,此方法可能对 dirty
具有破坏性。
Parameters | |
---|---|
dirty |
Rect : the rectangle representing the bounds of the dirty region |
void invalidate (int l, int t, int r, int b)
将由矩形(l,t,r,b)定义的区域标记为需要绘制。 脏矩形的坐标是相对于视图的。 如果视图可见, onDraw(android.graphics.Canvas)
在未来某个时刻调用onDraw(android.graphics.Canvas)
。
这必须从UI线程调用。 要从非UI线程调用,请致电postInvalidate()
。
Parameters | |
---|---|
l |
int : the left position of the dirty region |
t |
int : the top position of the dirty region |
r |
int : the right position of the dirty region |
b |
int : the bottom position of the dirty region |
void invalidateDrawable (Drawable drawable)
使指定的Drawable无效。
Parameters | |
---|---|
drawable |
Drawable : the drawable to invalidate |
boolean isAccessibilityFocused ()
返回此视图是否以可访问性为重点。
Returns | |
---|---|
boolean |
True if this View is accessibility focused. |
boolean isActivated ()
指示此视图的激活状态。
Returns | |
---|---|
boolean |
true if the view is activated, false otherwise |
boolean isAttachedToWindow ()
如果此视图当前附加到窗口,则返回true。
Returns | |
---|---|
boolean |
boolean isClickable ()
指示此视图是否对点击事件做出反应。
相关XML属性:
Returns | |
---|---|
boolean |
true if the view is clickable, false otherwise |
也可以看看:
boolean isContextClickable ()
指示此视图是否对上下文点击作出反应。
相关XML属性:
Returns | |
---|---|
boolean |
true if the view is context clickable, false otherwise |
也可以看看:
boolean isDirty ()
如果此视图自上次绘制以来发生更改,则为真。
Returns | |
---|---|
boolean |
The dirty state of this view. |
boolean isDrawingCacheEnabled ()
指示是否为此视图启用图形缓存。
Returns | |
---|---|
boolean |
true if the drawing cache is enabled |
boolean isDuplicateParentStateEnabled ()
指示这是否从其父项复制其可绘制状态。
Returns | |
---|---|
boolean |
True if this view's drawable state is duplicated from the parent, false otherwise |
boolean isEnabled ()
返回此视图的启用状态。 启用状态的解释因子而异。
Returns | |
---|---|
boolean |
True if this view is enabled, false otherwise. |
boolean isFocusable ()
返回此视图是否能够获得焦点。
相关XML属性:
Returns | |
---|---|
boolean |
True if this view can take focus, or false otherwise. |
boolean isFocusableInTouchMode ()
当视图可以聚焦时,它可能不想在触摸模式下进行聚焦。 例如,当用户通过D-pad进行导航以便用户可以点击它时,按钮会获得焦点,但是一旦用户开始触摸屏幕,按钮就不应该对焦
相关XML属性:
Returns | |
---|---|
boolean |
Whether the view is focusable in touch mode. |
boolean isFocused ()
如果此视图具有焦点,则返回true
Returns | |
---|---|
boolean |
True if this view has focus, false otherwise. |
boolean isHapticFeedbackEnabled ()
相关XML属性:
Returns | |
---|---|
boolean |
whether this view should have haptic feedback enabled for events long presses. |
boolean isHardwareAccelerated ()
指示此视图是否附加到硬件加速窗口。
即使此方法返回true,也不表示每次调用draw(android.graphics.Canvas)
都将使用硬件加速Canvas
。 例如,如果此视图被绘制到屏幕外Bitmap
并且其窗口硬件加速,则isHardwareAccelerated()
可能会返回false,并且此方法将返回true。
Returns | |
---|---|
boolean |
True if the view is attached to a window and the window is hardware accelerated; false in any other case. |
boolean isHorizontalFadingEdgeEnabled ()
指示水平滚动视图时水平边缘是否淡化。
相关XML属性:
Returns | |
---|---|
boolean |
true if the horizontal edges should are faded on scroll, false otherwise |
boolean isHorizontalScrollBarEnabled ()
指示是否绘制水平滚动条。 滚动条默认没有绘制。
Returns | |
---|---|
boolean |
true if the horizontal scrollbar should be painted, false otherwise |
boolean isHovered ()
如果视图当前处于悬停状态,则返回true。
Returns | |
---|---|
boolean |
True if the view is currently hovered. |
boolean isImportantForAccessibility ()
计算是否应该公开此视图以获取可访问性。 一般而言,交互式视图或提供信息的视图都是暴露的,而仅作为容器的视图被隐藏。
如果此视图的祖先具有重要性 IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
,则此方法返回 false
。
否则,根据视图的 getImportantForAccessibility()
值计算该值:
IMPORTANT_FOR_ACCESSIBILITY_NO
or IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
, return false
IMPORTANT_FOR_ACCESSIBILITY_YES
, return true
IMPORTANT_FOR_ACCESSIBILITY_AUTO
, return true
if view satisfies any of the following:
isClickable()
, isLongClickable()
, or isFocusable()
View.AccessibilityDelegate
View.OnTouchListener
, View.OnKeyListener
, etc. getAccessibilityLiveRegion()
is not ACCESSIBILITY_LIVE_REGION_NONE
. Returns | |
---|---|
boolean |
Whether the view is exposed for accessibility. |
boolean isInEditMode ()
指示此视图当前是否处于编辑模式。 在开发人员工具中显示时,View通常处于编辑模式。 例如,如果此视图是由可视用户界面构建器绘制的,则此方法应返回true。 如果子类的正常行为可能会干扰主机环境,则子类应该检查此方法的返回值以提供不同的行为。 例如:类在其构造函数中产生一个线程,绘图代码依赖于设备特定的功能等。通常在自定义小部件的绘图代码中检查此方法。
Returns | |
---|---|
boolean |
True if this View is in edit mode, false otherwise. |
boolean isInLayout ()
返回视图层次结构当前是否正在进行布局传递。 此信息对于避免在布局过程中调用requestLayout()
等情况很有用。
Returns | |
---|---|
boolean |
whether the view hierarchy is currently undergoing a layout pass |
boolean isInTouchMode ()
返回设备当前是否处于触摸模式。 一旦用户开始通过触摸与设备进行交互,就会进入触摸模式,并影响各种事情,例如用户是否始终看到聚焦。
Returns | |
---|---|
boolean |
Whether the device is in touch mode. |
boolean isLaidOut ()
如果此视图自上次连接到窗口或从窗口分离后至少经历了一个布局,则返回true。
Returns | |
---|---|
boolean |
boolean isLayoutDirectionResolved ()
Returns | |
---|---|
boolean |
true if layout direction has been resolved. |
boolean isLayoutRequested ()
指示是否在下一个层次结构布局过程中请求此视图的布局。
Returns | |
---|---|
boolean |
true if the layout will be forced during next layout pass |
boolean isLongClickable ()
指示此视图是否对长按事件作出反应。
相关XML属性:
Returns | |
---|---|
boolean |
true if the view is long clickable, false otherwise |
也可以看看:
boolean isNestedScrollingEnabled ()
如果对此视图启用嵌套滚动,则返回true。
如果启用了嵌套滚动并且此View类实现支持它,则该视图将在适用时充当嵌套滚动子视图,将有关正在进行的滚动操作的数据转发给兼容且协作的嵌套滚动父级。
Returns | |
---|---|
boolean |
true if nested scrolling is enabled |
boolean isOpaque ()
指示此视图是否不透明。 不透明视图保证它将使用完全不透明的颜色绘制所有像素重叠的边界。 视图的子类应尽可能覆盖此方法,以指示实例是否不透明。 不透明视图被视图层次以特殊方式处理,可能允许它在无效/绘制过程中执行优化。
Returns | |
---|---|
boolean |
True if this View is guaranteed to be fully opaque, false otherwise. |
boolean isPaddingRelative ()
如果填充已通过相对值 setPaddingRelative(int, int, int, int)
或通过设置,则返回
相关XML属性:
Returns | |
---|---|
boolean |
true if the padding is relative or false if it is not. |
boolean isPressed ()
指示视图当前是否处于按下状态。 除非明确调用setPressed(boolean)
,否则只有可点击的视图才能进入按下的状态。
Returns | |
---|---|
boolean |
true if the view is currently pressed, false otherwise |
boolean isSaveEnabled ()
指示此视图是否将保存其状态(即,是否调用其 onSaveInstanceState()
方法)。
相关XML属性:
Returns | |
---|---|
boolean |
Returns true if the view state saving is enabled, else false. |
也可以看看:
boolean isSaveFromParentEnabled ()
指示当从父级发生状态保存遍历时,此视图下的整个层次结构是否将保存其状态。 默认值是true; 如果为false,除非在此视图上直接调用saveHierarchyState(SparseArray)
否则这些视图将不会保存。
Returns | |
---|---|
boolean |
Returns true if the view state saving from parent is enabled, else false. |
boolean isScrollContainer ()
指示此视图是否是其窗口中的一组可滚动容器。
相关XML属性:
Returns | |
---|---|
boolean |
whether this view is one of the set of scrollable containers in its window |
boolean isScrollbarFadingEnabled ()
当该视图不滚动时,如果滚动条将淡出,则返回true
相关XML属性:
Returns | |
---|---|
boolean |
true if scrollbar fading is enabled |
boolean isSelected ()
指示此视图的选择状态。
Returns | |
---|---|
boolean |
true if the view is selected, false otherwise |
boolean isShown ()
返回此视图及其所有祖先的可见性
Returns | |
---|---|
boolean |
True if this view and all of its ancestors are VISIBLE |
boolean isSoundEffectsEnabled ()
相关XML属性:
Returns | |
---|---|
boolean |
whether this view should have sound effects enabled for events such as clicking and touching. |
boolean isTemporarilyDetached ()
Returns | |
---|---|
boolean |
true when the View is in the state between onStartTemporaryDetach() and onFinishTemporaryDetach() . |
boolean isTextAlignmentResolved ()
Returns | |
---|---|
boolean |
true if text alignment is resolved. |
boolean isTextDirectionResolved ()
Returns | |
---|---|
boolean |
true if text direction is resolved. |
boolean isVerticalFadingEdgeEnabled ()
指示当视图水平滚动时垂直边缘是否渐变。
相关XML属性:
Returns | |
---|---|
boolean |
true if the vertical edges should are faded on scroll, false otherwise |
boolean isVerticalScrollBarEnabled ()
指示是否应绘制垂直滚动条。 滚动条默认没有绘制。
Returns | |
---|---|
boolean |
true if the vertical scrollbar should be painted, false otherwise |
void jumpDrawablesToCurrentState ()
在与此视图关联的所有可绘制对象上调用 Drawable.jumpToCurrentState()
。
如果有一个StateListAnimator附加到这个视图,也调用 jumpToCurrentState()
。
void layout (int l, int t, int r, int b)
为视图及其所有后代指定大小和位置
这是布局机制的第二阶段。 (首先是测量)。 在这个阶段,每个家长调用其所有孩子的布局来定位他们。 这通常使用存储在度量pass()中的子度量来完成。
派生类不应该重写此方法。 带孩子的派生类应该重写onLayout。 在这种方法中,他们应该给每个孩子打电话。
Parameters | |
---|---|
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 measure (int widthMeasureSpec, int heightMeasureSpec)
这被称为找出多大的观点应该是。 父级在宽度和高度参数中提供约束信息。
视图的实际测量工作在onMeasure(int, int)
执行,由此方法调用。 因此,只有onMeasure(int, int)
可以并且必须被子类覆盖。
Parameters | |
---|---|
widthMeasureSpec |
int : Horizontal space requirements as imposed by the parent |
heightMeasureSpec |
int : Vertical space requirements as imposed by the parent |
也可以看看:
void offsetLeftAndRight (int offset)
按指定的像素数量偏移此视图的水平位置。
Parameters | |
---|---|
offset |
int : the number of pixels to offset the view by |
void offsetTopAndBottom (int offset)
将此视图的垂直位置偏移指定的像素数。
Parameters | |
---|---|
offset |
int : the number of pixels to offset the view by |
WindowInsets onApplyWindowInsets (WindowInsets insets)
根据其内部政策,视图应适用 WindowInsets
时调用。
该方法应该被希望应用与默认行为不同或不同的策略的视图覆盖。 希望强制查看子树应用插入的客户应拨打dispatchApplyWindowInsets(WindowInsets)
。
客户可以提供View.OnApplyWindowInsetsListener
以供查看。 如果设置了一个,它将在调度过程中被调用,而不是这个方法。 如果监听器希望除了自己的应用外还应用视图的默认插入策略,则可以选择从其自己的实现中调用此方法。
这种方法的实现应该返回insets参数不变或从提供的插入中克隆新的WindowInsets
,并WindowInsets
该视图自身应用的任何插入。 这允许在未来的平台版本中添加的新的插入类型在未被错误地使用的情况下不变地通过现有的实现。
默认情况下,如果视图的 fitsSystemWindows
属性被设置,那么该视图将消耗系统窗口插件并将其应用为视图的填充。
Parameters | |
---|---|
insets |
WindowInsets : Insets to apply |
Returns | |
---|---|
WindowInsets |
The supplied insets with any applied insets consumed |
void onCancelPendingInputEvents ()
在此视图或父视图上调用 cancelPendingInputEvents()
的结果。
此方法负责移除任何发布到事件队列以待稍后运行的高级输入事件。 它通过发布自己的递延高级别活动自定义视图类post(Runnable)
, postDelayed(Runnable, long)
或者Handler
应覆盖此方法,调用super.onCancelPendingInputEvents()
,并删除这些回调适当。
boolean onCheckIsTextEditor ()
检查被调用的视图是否是文本编辑器,在这种情况下,为其自动显示软输入窗口是有意义的。 如果实现onCreateInputConnection(EditorInfo)
如果对该方法的调用将返回非null的InputConnection,则子类应该覆盖此值,并且它们实际上是第一级编辑器,用户在进入包含您的窗口的窗口时通常会开始输入视图。
默认实现总是返回false。 这并不意味着其onCreateInputConnection(EditorInfo)
不会被调用或用户不能以其他方式执行对你的看法的编辑; 这只是对系统的暗示,这不是这个观点的主要目的。
Returns | |
---|---|
boolean |
Returns true if this view is a text editor, else false. |
InputConnection onCreateInputConnection (EditorInfo outAttrs)
为InputMethod创建一个新的InputConnection以与视图交互。 默认实现返回null,因为它不支持输入方法。 你可以重写这个来实现这种支持。 这只是需要重点和文字输入的视图才需要。
当实现这个时,你可能也想实现 onCheckIsTextEditor()
来表明你将返回一个非null的InputConnection。
另外,请小心地正确填写EditorInfo
对象,以便连接的IME可以依赖其值。 例如,必须使用正确的光标位置填写initialSelStart
和initialSelEnd
成员,以便IME正确地与您的应用程序一起工作。
Parameters | |
---|---|
outAttrs |
EditorInfo : Fill in with attribute information about the connection. |
Returns | |
---|---|
InputConnection |
boolean onDragEvent (DragEvent event)
在调用 startDragAndDrop()
之后,处理由系统发送的拖动事件。
当系统调用这个方法时,它传递一个DragEvent
对象。 对getAction()
的调用将返回DragEvent中定义的操作类型常量之一。 该方法使用这些来确定拖放操作中发生了什么。
Parameters | |
---|---|
event |
DragEvent : The DragEvent sent by the system. The getAction() method returns an action type constant defined in DragEvent, indicating the type of drag event represented by this object. |
Returns | |
---|---|
boolean |
true if the method was successful, otherwise false . 该方法应该返回 该方法还应该返回 |
void onDrawForeground (Canvas canvas)
为此视图绘制任何前景内容。
前景内容可能包含滚动条, foreground
可绘制或其他视图特定的装饰。 前景绘制在主视图内容的顶部。
Parameters | |
---|---|
canvas |
Canvas : canvas to draw into |
boolean onFilterTouchEventForSecurity (MotionEvent event)
过滤触摸事件以应用安全策略。
Parameters | |
---|---|
event |
MotionEvent : The motion event to be filtered. |
Returns | |
---|---|
boolean |
True if the event should be dispatched, false if the event should be dropped. |
void onFinishTemporaryDetach ()
当容器完成更改视图后,调用 onStartTemporaryDetach()
后。
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. |
void onHoverChanged (boolean hovered)
实现此方法来处理悬停状态更改。
只要悬停状态由于对 setHovered(boolean)
的调用而改变,就会调用此方法。
Parameters | |
---|---|
hovered |
boolean : The current hover state, as returned by isHovered() . |
也可以看看:
boolean onHoverEvent (MotionEvent event)
实现此方法来处理悬停事件。
只要指针悬停在视图边界之上或之外,并且该视图当前未被触摸,就会调用此方法。 悬停事件被表示为具有动作指针事件ACTION_HOVER_ENTER
, ACTION_HOVER_MOVE
,或ACTION_HOVER_EXIT
。
ACTION_HOVER_ENTER
when the pointer enters the bounds of the view.ACTION_HOVER_MOVE
when the pointer has already entered the bounds of the view and has moved.ACTION_HOVER_EXIT
when the pointer has exited the bounds of the view or when the pointer is about to go down due to a button click, tap, or similar user action that causes the view to be touched.该视图应实现此方法以返回true以指示它正在处理悬停事件,例如通过更改其可绘制状态。
如果视图已启用且可点击,则默认实现将调用setHovered(boolean)
以在收到悬停输入或悬停退出事件时更新视图的悬停状态。 默认实现也发送悬停可访问性事件。
Parameters | |
---|---|
event |
MotionEvent : The motion event that describes the hover. |
Returns | |
---|---|
boolean |
True if the view handled the hover event. |
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. |
void onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)
使用关于此视图的信息初始化AccessibilityNodeInfo
。 基本实现设置:
setParent(View)
,setBoundsInParent(Rect)
,setBoundsInScreen(Rect)
,setPackageName(CharSequence)
,setClassName(CharSequence)
,setContentDescription(CharSequence)
,setEnabled(boolean)
,setClickable(boolean)
,setFocusable(boolean)
,setFocused(boolean)
,setLongClickable(boolean)
,setSelected(boolean)
,setContextClickable(boolean)
子类应该重写此方法,调用超级实现,并设置其他属性。
如果 View.AccessibilityDelegate
已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)
其 onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo)
负责处理此调用。
Parameters | |
---|---|
info |
AccessibilityNodeInfo : The instance to initialize. |
boolean onKeyDown (int keyCode, KeyEvent event)
默认实现 KeyEvent.Callback.onKeyDown()
:如果视图已启用并且可点击,则在释放 KEYCODE_DPAD_CENTER
或 KEYCODE_ENTER
时按下视图。
软件键盘中的按键通常不会触发这个监听器,尽管在某些情况下有些人会选择这样做。 不要依靠这个来捕捉软件按键。
Parameters | |
---|---|
keyCode |
int : a key code that represents the button pressed, from KeyEvent |
event |
KeyEvent : the KeyEvent object that defines the button action |
Returns | |
---|---|
boolean |
If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false. |
boolean onKeyLongPress (int keyCode, KeyEvent event)
默认实现 KeyEvent.Callback.onKeyLongPress()
:始终返回false(不处理事件)。
软件键盘中的按键通常不会触发这个监听器,尽管在某些情况下有些人会选择这样做。 不要依靠这个来捕捉软件按键。
Parameters | |
---|---|
keyCode |
int : The value in event.getKeyCode(). |
event |
KeyEvent : Description of the key event. |
Returns | |
---|---|
boolean |
If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false. |
boolean onKeyMultiple (int keyCode, int repeatCount, KeyEvent event)
KeyEvent.Callback.onKeyMultiple()
默认实现:始终返回false(不处理事件)。
软件键盘中的按键通常不会触发这个监听器,尽管在某些情况下有些人会选择这样做。 不要依靠这个来捕捉软件按键。
Parameters | |
---|---|
keyCode |
int : A key code that represents the button pressed, from KeyEvent . |
repeatCount |
int : The number of times the action was made. |
event |
KeyEvent : The KeyEvent object that defines the button action. |
Returns | |
---|---|
boolean |
If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false. |
boolean onKeyPreIme (int keyCode, KeyEvent event)
在关键事件由与视图层次关联的任何输入方法处理之前处理。 这可以用于在IME消耗它们之前在特殊情况下截获关键事件; 一个典型的例子是处理BACK键来更新应用程序的UI,而不是让IME看到它并关闭它自己。
Parameters | |
---|---|
keyCode |
int : The value in event.getKeyCode(). |
event |
KeyEvent : Description of the key event. |
Returns | |
---|---|
boolean |
If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false. |
boolean onKeyShortcut (int keyCode, KeyEvent event)
在未处理按键快捷方式事件时调用聚焦视图。 重写此方法以实现View的本地键快捷方式。 快捷键也可以通过设置菜单项的shortcut
属性来实现。
Parameters | |
---|---|
keyCode |
int : The value in event.getKeyCode(). |
event |
KeyEvent : Description of the key event. |
Returns | |
---|---|
boolean |
If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false. |
boolean onKeyUp (int keyCode, KeyEvent event)
的默认实现 KeyEvent.Callback.onKeyUp()
:当视图进行点击 KEYCODE_DPAD_CENTER
, KEYCODE_ENTER
或者 KEYCODE_SPACE
被释放。
软件键盘中的按键通常不会触发这个监听器,尽管在某些情况下有些人会选择这样做。 不要依靠这个来捕捉软件按键。
Parameters | |
---|---|
keyCode |
int : A key code that represents the button pressed, from KeyEvent . |
event |
KeyEvent : The KeyEvent object that defines the button action. |
Returns | |
---|---|
boolean |
If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false. |
void onPopulateAccessibilityEvent (AccessibilityEvent event)
从dispatchPopulateAccessibilityEvent(AccessibilityEvent)
调用,给这个视图一个机会来填充具有文本内容的可访问性事件。 虽然此方法可自由修改文本内容以外的事件属性,但通常应在onInitializeAccessibilityEvent(AccessibilityEvent)
执行onInitializeAccessibilityEvent(AccessibilityEvent)
。
示例:除超级实现添加的文本外,还将格式化的日期字符串添加到辅助功能事件中:
public void onPopulateAccessibilityEvent(AccessibilityEvent event) { super.onPopulateAccessibilityEvent(event); final int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY; String selectedDateUtterance = DateUtils.formatDateTime(mContext, mCurrentDate.getTimeInMillis(), flags); event.getText().add(selectedDateUtterance); }
如果 View.AccessibilityDelegate
已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)
其 onPopulateAccessibilityEvent(View, AccessibilityEvent)
负责处理此调用。
注意:在向事件添加信息之前始终调用超级实现,以防缺省实现具有要添加的基本信息。
Parameters | |
---|---|
event |
AccessibilityEvent : The accessibility event which to populate. |
void onProvideStructure (ViewStructure structure)
作为 Activity.onProvideAssistData
一部分从视图中检索辅助结构时调用。
Parameters | |
---|---|
structure |
ViewStructure : Fill in with structured view data. The default implementation fills in all data that can be inferred from the view itself. |
void onProvideVirtualStructure (ViewStructure structure)
当从视图中检索辅助结构作为Activity.onProvideAssistData
一部分Activity.onProvideAssistData
以在此视图下生成其他虚拟结构时调用。 defaullt实现使用getAccessibilityNodeProvider()
来尝试从视图的虚拟可访问性节点(如果有的话)中生成这个。 您可以覆盖此提供此数据的更优化实施。
Parameters | |
---|---|
structure |
ViewStructure
|
PointerIcon onResolvePointerIcon (MotionEvent event, int pointerIndex)
返回运动事件的指针图标;如果未指定图标,则返回null。 默认实现不关心位置或事件类型,但某些子类可能会使用它(如WebViews)。
Parameters | |
---|---|
event |
MotionEvent : The MotionEvent from a mouse |
pointerIndex |
int : The index of the pointer for which to retrieve the PointerIcon . This will be between 0 and getPointerCount() . |
Returns | |
---|---|
PointerIcon |
也可以看看:
void onRtlPropertiesChanged (int layoutDirection)
当任何RTL属性(布局方向或文本方向或文本对齐)已被更改时调用。 子类需要重写此方法以处理依赖于已解析布局方向的缓存信息,或通知继承其布局方向的子视图。 默认实现什么都不做。
Parameters | |
---|---|
layoutDirection |
int : the direction of the layout |
void onScreenStateChanged (int screenState)
只要此视图的屏幕状态附加到更改,就会调用此方法。 状态变化通常会在屏幕打开或关闭时发生(无论是自动发生还是由用户手动完成)。
Parameters | |
---|---|
screenState |
int : The new state of the screen. Can be either SCREEN_STATE_ON or SCREEN_STATE_OFF |
void onStartTemporaryDetach ()
当一个容器临时将孩子分开时,这被称为ViewGroup.detachViewFromParent
。 当容器完成后,它将会跟着onFinishTemporaryDetach()
或onDetachedFromWindow()
。
boolean onTouchEvent (MotionEvent event)
实现此方法来处理触摸屏幕动作事件。
如果使用此方法检测点击操作,建议通过执行并调用performClick()
来执行操作。 这将确保一致的系统行为,包括:
ACTION_CLICK
when accessibility features are enabled Parameters | |
---|---|
event |
MotionEvent : The motion event. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
boolean onTrackballEvent (MotionEvent event)
实现这个方法来处理轨迹球运动事件。 自上次事件以来跟踪球的相对移动可以通过MotionEvent.getX()
和MotionEvent.getY()
进行检索。 这些都是标准化的,因此移动1对应于用户按下一个DPAD键(所以它们通常是小数值,表示轨迹球中可用的更细粒度的移动信息)。
Parameters | |
---|---|
event |
MotionEvent : The motion event. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
void onVisibilityAggregated (boolean isVisible)
当此视图的用户可见性可能受到对此视图本身,祖先视图或此视图所附窗口的更改的影响时调用。
Parameters | |
---|---|
isVisible |
boolean : true if this view and all of its ancestors are VISIBLE and this view's window is also visible |
void onWindowFocusChanged (boolean hasWindowFocus)
当包含此视图的窗口获得或失去焦点时调用。 请注意,这与视图焦点不同:要接收关键事件,视图和其窗口都必须具有焦点。 如果一个窗口显示在需要输入焦点的窗口上,那么您自己的窗口将失去焦点,但视图焦点将保持不变。
Parameters | |
---|---|
hasWindowFocus |
boolean : True if the window containing this view now has focus, false otherwise. |
void onWindowSystemUiVisibilityChanged (int visible)
重写以查明窗口请求的系统UI可见性更改的时间,即getWindowSystemUiVisibility()
返回的值。 这与通过setOnSystemUiVisibilityChangeListener(OnSystemUiVisibilityChangeListener)
收到的回调不同,因为这只是告诉您窗口的本地请求,而不是系统应用的实际值。
Parameters | |
---|---|
visible |
int
|
boolean performAccessibilityAction (int action, Bundle arguments)
在视图上执行指定的辅助功能操作。 有关可能的辅助功能操作,请AccessibilityNodeInfo
。
如果 View.AccessibilityDelegate
已通过呼叫 setAccessibilityDelegate(AccessibilityDelegate)
指定, setAccessibilityDelegate(AccessibilityDelegate)
其 performAccessibilityAction(View, int, Bundle)
负责处理此呼叫。
如果 nested scrolling is enabled
位于此视图上,则默认实现将委托 ACTION_SCROLL_BACKWARD
和 ACTION_SCROLL_FORWARD
为嵌套滚动父 nested scrolling is enabled
。
Parameters | |
---|---|
action |
int : The action to perform. |
arguments |
Bundle : Optional action arguments. |
Returns | |
---|---|
boolean |
Whether the action was performed. |
boolean performClick ()
调用此视图的OnClickListener(如果已定义)。 执行与点击相关的所有常规操作:报告辅助功能事件,播放声音等。
Returns | |
---|---|
boolean |
True there was an assigned OnClickListener that was called, false otherwise is returned. |
boolean performContextClick (float x, float y)
调用此视图的OnContextClickListener(如果已定义)。
Parameters | |
---|---|
x |
float : the x coordinate of the context click |
y |
float : the y coordinate of the context click |
Returns | |
---|---|
boolean |
True if there was an assigned OnContextClickListener that consumed the event, false otherwise. |
boolean performContextClick ()
调用此视图的OnContextClickListener(如果已定义)。
Returns | |
---|---|
boolean |
True if there was an assigned OnContextClickListener that consumed the event, false otherwise. |
boolean performHapticFeedback (int feedbackConstant)
BZZZTT !! 1!
为此视图提供触觉反馈给用户。
该框架将为一些内置操作提供触觉反馈,例如长按,但您可能希望为自己的小部件提供反馈。
仅当 isHapticFeedbackEnabled()
为真时才会执行反馈。
Parameters | |
---|---|
feedbackConstant |
int : One of the constants defined in HapticFeedbackConstants |
Returns | |
---|---|
boolean |
boolean performHapticFeedback (int feedbackConstant, int flags)
BZZZTT !! 1!
像 performHapticFeedback(int)
一样,附加选项。
Parameters | |
---|---|
feedbackConstant |
int : One of the constants defined in HapticFeedbackConstants |
flags |
int : Additional flags as per HapticFeedbackConstants . |
Returns | |
---|---|
boolean |
boolean performLongClick (float x, float y)
调用此视图的OnLongClickListener(如果已定义)。 如果OnLongClickListener没有使用该事件并将其锚定到(x,y)坐标,则调用上下文菜单。
Parameters | |
---|---|
x |
float : x coordinate of the anchoring touch event, or NaN to disable anchoring |
y |
float : y coordinate of the anchoring touch event, or NaN to disable anchoring |
Returns | |
---|---|
boolean |
true if one of the above receivers consumed the event, false otherwise |
boolean performLongClick ()
调用此视图的OnLongClickListener(如果已定义)。 如果OnLongClickListener没有使用该事件,则调用上下文菜单。
Returns | |
---|---|
boolean |
true if one of the above receivers consumed the event, false otherwise |
void playSoundEffect (int soundConstant)
发挥这个观点的声音效果。
该框架将为一些内置操作(例如点击)播放声音效果,但您可能希望在小部件中播放这些效果,例如,用于内部导航。
只有用户启用了声音效果才能播放声音效果,并且 isSoundEffectsEnabled()
为真。
Parameters | |
---|---|
soundConstant |
int : One of the constants defined in SoundEffectConstants |
boolean post (Runnable action)
导致Runnable被添加到消息队列中。 runnable将在用户界面线程上运行。
Parameters | |
---|---|
action |
Runnable : The Runnable that will be executed. |
Returns | |
---|---|
boolean |
Returns true if the Runnable was successfully placed in to the message queue. Returns false on failure, usually because the looper processing the message queue is exiting. |
boolean postDelayed (Runnable action, long delayMillis)
导致Runnable被添加到消息队列中,以在指定的时间过去后运行。 runnable将在用户界面线程上运行。
Parameters | |
---|---|
action |
Runnable : The Runnable that will be executed. |
delayMillis |
long : The delay (in milliseconds) until the Runnable will be executed. |
Returns | |
---|---|
boolean |
true if the Runnable was successfully placed in to the message queue. Returns false on failure, usually because the looper processing the message queue is exiting. Note that a result of true does not mean the Runnable will be processed -- if the looper is quit before the delivery time of the message occurs then the message will be dropped. |
void postInvalidate ()
导致在事件循环的后续循环中发生无效。 使用它来使非UI线程中的视图无效。
只有当此视图附加到窗口时,才可以从UI线程之外调用此方法。
void postInvalidate (int left, int top, int right, int bottom)
导致指定区域在事件循环的后续循环中发生无效。 使用它来使非UI线程中的视图无效。
只有当此视图附加到窗口时,才可以从UI线程之外调用此方法。
Parameters | |
---|---|
left |
int : The left coordinate of the rectangle to invalidate. |
top |
int : The top coordinate of the rectangle to invalidate. |
right |
int : The right coordinate of the rectangle to invalidate. |
bottom |
int : The bottom coordinate of the rectangle to invalidate. |
void postInvalidateDelayed (long delayMilliseconds, int left, int top, int right, int bottom)
导致指定区域在事件循环的后续循环中发生无效。 等待指定的时间。
只有当此视图附加到窗口时,才可以从UI线程之外调用此方法。
Parameters | |
---|---|
delayMilliseconds |
long : the duration in milliseconds to delay the invalidation by |
left |
int : The left coordinate of the rectangle to invalidate. |
top |
int : The top coordinate of the rectangle to invalidate. |
right |
int : The right coordinate of the rectangle to invalidate. |
bottom |
int : The bottom coordinate of the rectangle to invalidate. |
void postInvalidateDelayed (long delayMilliseconds)
导致在事件循环的后续循环中发生无效。 等待指定的时间。
只有当此视图附加到窗口时,才可以从UI线程之外调用此方法。
Parameters | |
---|---|
delayMilliseconds |
long : the duration in milliseconds to delay the invalidation by |
也可以看看:
void postInvalidateOnAnimation (int left, int top, int right, int bottom)
导致指定区域在下一个动画时间步骤失效,通常是下一个显示帧。
只有当此视图附加到窗口时,才可以从UI线程之外调用此方法。
Parameters | |
---|---|
left |
int : The left coordinate of the rectangle to invalidate. |
top |
int : The top coordinate of the rectangle to invalidate. |
right |
int : The right coordinate of the rectangle to invalidate. |
bottom |
int : The bottom coordinate of the rectangle to invalidate. |
void postInvalidateOnAnimation ()
导致在下一个动画时间步骤发生无效,通常是下一个显示帧。
只有当此视图附加到窗口时,才可以从UI线程之外调用此方法。
也可以看看:
void postOnAnimation (Runnable action)
使Runnable在下一个动画时间步骤上执行。 runnable将在用户界面线程上运行。
Parameters | |
---|---|
action |
Runnable : The Runnable that will be executed. |
void postOnAnimationDelayed (Runnable action, long delayMillis)
导致Runnable在指定的时间过后,在下一个动画时间步骤执行。 runnable将在用户界面线程上运行。
Parameters | |
---|---|
action |
Runnable : The Runnable that will be executed. |
delayMillis |
long : The delay (in milliseconds) until the Runnable will be executed. |
void refreshDrawableState ()
调用它来强制视图更新其可绘制状态。 这将导致在此视图上调用drawableStateChanged。 对新状态感兴趣的视图应该调用getDrawableState。
boolean removeCallbacks (Runnable action)
从消息队列中删除指定的Runnable。
Parameters | |
---|---|
action |
Runnable : The Runnable to remove from the message handling queue |
Returns | |
---|---|
boolean |
true if this view could ask the Handler to remove the Runnable, false otherwise. When the returned value is true, the Runnable may or may not have been actually removed from the message queue (for instance, if the Runnable was not in the queue already.) |
void removeOnAttachStateChangeListener (View.OnAttachStateChangeListener listener)
删除附加状态更改的侦听器。 监听器将不会收到窗口附加/分离事件的进一步通知。
Parameters | |
---|---|
listener |
View.OnAttachStateChangeListener : Listener to remove |
void removeOnLayoutChangeListener (View.OnLayoutChangeListener listener)
删除布局更改的侦听器。
Parameters | |
---|---|
listener |
View.OnLayoutChangeListener : The listener for layout bounds change. |
void requestApplyInsets ()
请求执行 onApplyWindowInsets(WindowInsets)
的新调度。
void requestFitSystemWindows ()
此方法在API级别20中已被弃用。
对于较新的平台版本使用requestApplyInsets()
。
请求执行 fitSystemWindows(Rect)
的新调度。
boolean requestFocus (int direction)
调用此方法试图将焦点放在特定的视图或其后面的某个子视图上,并为焦点的方向提供一个提示。 如果视图不可聚焦( isFocusable()
返回false),或者如果它是可聚焦的,并且在设备处于触摸模式时不能在触摸模式( isFocusableInTouchMode()
)下聚焦,则视图实际上不会聚焦。 另请参阅focusSearch(int)
,这是您打电话表示您有重点,并且您希望您的父母寻找下一个。 这相当于调用requestFocus(int, Rect)
并将null
设置为以前聚焦的矩形。
Parameters | |
---|---|
direction |
int : One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT |
Returns | |
---|---|
boolean |
Whether this view or one of its descendants actually took focus. |
boolean requestFocus ()
调用这个来试图将焦点放在特定的视图或其后代之一上。 如果视图不可聚焦( isFocusable()
返回false),或者如果它是可以聚焦的,并且在设备处于触摸模式时不能在触摸模式( isFocusableInTouchMode()
)下聚焦,则视图实际上不会聚焦。 另请参阅focusSearch(int)
,这是您打电话表示您关注的内容,并且您希望您的父母寻找下一个。 这等同于调用requestFocus(int, Rect)
带参数FOCUS_DOWN
和null
。
Returns | |
---|---|
boolean |
Whether this view or one of its descendants actually took focus. |
boolean requestFocus (int direction, Rect previouslyFocusedRect)
调用此方法可试图将焦点放在特定视图或其后面的某个子视图上,并提供关于焦点来自的方向和特定矩形的提示。 该矩形可以帮助更大的视图提供关于焦点来自何处的更精细的提示,因此,可以在哪里显示选择内容,或者在内部转发焦点更改。 如果视图不可聚焦( isFocusable()
返回false),或者如果它是可以聚焦的,并且在设备处于触摸模式时不能在触摸模式( isFocusableInTouchMode()
)下聚焦,则视图实际上不会聚焦。 如果视图不可见,视图将不会被关注。 如果其父母之一的getDescendantFocusability()
等于FOCUS_BLOCK_DESCENDANTS
则视图将不会被关注。 另请参阅focusSearch(int)
,这是您打电话表示您关注的内容,并且您希望您的父母寻找下一个。 如果您的自定义View
具有希望转发请求的内部View
,您可能希望覆盖此方法。
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 this view or one of its descendants actually took focus. |
boolean requestFocusFromTouch ()
调用这个来试图将焦点放在特定的视图或其后代之一上。 这是requestFocus()
一个特殊变体,它允许在触摸模式下不能聚焦的视图在被触摸时请求聚焦。
Returns | |
---|---|
boolean |
Whether this view or one of its descendants actually took focus. |
也可以看看:
void requestLayout ()
当事情发生变化时调用它,这已经使这个视图的布局无效。 这将安排视图树的布局传递。 当视图层次结构当前处于布局阶段时( isInLayout()
不应该调用此视图层次结构(如果布局正在发生,则可以在当前布局阶段结束时(然后布局将再次运行)或当前帧结束后绘制并发生下一个布局。
覆盖此方法的子类应调用超类方法以正确处理可能的布局错误请求。
boolean requestRectangleOnScreen (Rect rectangle)
要求在屏幕上可以看到这个视图的矩形,如果有必要的话可以滚动。
如果一个视图保持一些关于其内容的哪一部分有趣的概念,则视图应该调用它。 例如,文本编辑视图应该在光标移动时调用它。
传入此方法的Rectangle应位于视图的内容坐标空间中。 它不应受视图的哪一部分当前可见或其滚动位置的影响。
Parameters | |
---|---|
rectangle |
Rect : The rectangle in the View's content coordinate space |
Returns | |
---|---|
boolean |
Whether any parent scrolled. |
boolean requestRectangleOnScreen (Rect rectangle, boolean immediate)
要求在屏幕上可以看到这个视图的矩形,如果有必要的话可以滚动。
如果一个视图保持一些关于其内容的哪一部分有趣的概念,则视图应该调用它。 例如,文本编辑视图应该在光标移动时调用它。
传入此方法的Rectangle应位于视图的内容坐标空间中。 它不应受视图的哪一部分当前可见或其滚动位置的影响。
当 immediate
设置为true时,滚动将不会动画。
Parameters | |
---|---|
rectangle |
Rect : The rectangle in the View's content coordinate space |
immediate |
boolean : True to forbid animated scrolling, false otherwise |
Returns | |
---|---|
boolean |
Whether any parent scrolled. |
void requestUnbufferedDispatch (MotionEvent event)
请求无缓冲地将给定的MotionEvents流分派给此视图。 在此视图收到相应的ACTION_UP
,要求输入系统不是批次MotionEvent
s,而是在它们可用时立即发送。 只能针对触摸事件调用此方法。
这个API不适用于大多数应用程序。 缓冲区调度提供了许多好处,只需要在大多数MotionEvent流上请求无缓冲区调度就不会改善输入延迟。 副作用包括:增加延迟,抖动滚动和无法利用系统重采样。 与您的输入专家交谈,看看requestUnbufferedDispatch(MotionEvent)
是否适合您。
Parameters | |
---|---|
event |
MotionEvent
|
int resolveSize (int size, int measureSpec)
版本 resolveSizeAndState(int, int, int)
仅返回结果的 MEASURED_SIZE_MASK
位。
Parameters | |
---|---|
size |
int
|
measureSpec |
int
|
Returns | |
---|---|
int |
int resolveSizeAndState (int size, int measureSpec, int childMeasuredState)
用于协调所需大小和状态的实用程序,以及MeasureSpec强加的约束。 将采取所需的大小,除非约束施加不同的大小。 返回的值是一个复合整数,如果生成的大小小于视图想要的大小,则解析大小在MEASURED_SIZE_MASK
位,并且可选地设置位MEASURED_STATE_TOO_SMALL
。
Parameters | |
---|---|
size |
int : How big the view wants to be. |
measureSpec |
int : Constraints imposed by the parent. |
childMeasuredState |
int : Size information bit mask for the view's children. |
Returns | |
---|---|
int |
Size information bit mask as defined by MEASURED_SIZE_MASK and MEASURED_STATE_TOO_SMALL . |
void restoreHierarchyState (SparseArray<Parcelable> container)
从给定的容器中恢复此视图层次结构的冻结状态。
Parameters | |
---|---|
container |
SparseArray : The SparseArray which holds previously frozen states. |
void saveHierarchyState (SparseArray<Parcelable> container)
将此视图层次结构的冻结状态存储到给定的容器中。
Parameters | |
---|---|
container |
SparseArray : The SparseArray in which to save the view's state. |
void scheduleDrawable (Drawable who, Runnable what, long when)
安排一个drawable上的动作在指定的时间发生。
Parameters | |
---|---|
who |
Drawable : the recipient of the action |
what |
Runnable : the action to run on the drawable |
when |
long : the time at which the action must occur. Uses the uptimeMillis() timebase. |
void scrollBy (int x, int y)
移动视图的滚动位置。 这将导致致电onScrollChanged(int, int, int, int)
,并且视图将失效。
Parameters | |
---|---|
x |
int : the amount of pixels to scroll by horizontally |
y |
int : the amount of pixels to scroll by vertically |
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 sendAccessibilityEvent (int eventType)
发送给定类型的可访问性事件。 如果未启用辅助功能,则此方法不起作用。 默认实现首先调用onInitializeAccessibilityEvent(AccessibilityEvent)
来填充有关事件源(此视图)的信息,然后调用dispatchPopulateAccessibilityEvent(AccessibilityEvent)
来填充事件源的文本内容(包括其后代),并在其父代上最后调用requestSendAccessibilityEvent(View, AccessibilityEvent)
以请求将事件发送给相关方。
如果 View.AccessibilityDelegate
已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)
其 sendAccessibilityEvent(View, int)
负责处理此调用。
Parameters | |
---|---|
eventType |
int : The type of the event to send, as defined by several types from AccessibilityEvent , such as TYPE_VIEW_CLICKED or TYPE_VIEW_HOVER_ENTER . |
void sendAccessibilityEventUnchecked (AccessibilityEvent event)
此方法的行为与 sendAccessibilityEvent(int)
完全相同,但将空白 AccessibilityEvent
作为参数,并且不执行检查是否启用辅助功能。
如果 View.AccessibilityDelegate
已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)
其 sendAccessibilityEventUnchecked(View, AccessibilityEvent)
负责处理此调用。
Parameters | |
---|---|
event |
AccessibilityEvent : The event to send. |
也可以看看:
void setAccessibilityDelegate (View.AccessibilityDelegate delegate)
通过组合设置实现可访问性支持的委托(与继承相反)。 有关更多详细信息,请参阅View.AccessibilityDelegate
。
注意:在API 23
之前的平台版本上, 在主机方法之前调用android.widget.*
包中视图的android.widget.*
方法。 这可以通过覆盖onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo)
防止某些属性(如类名)被修改,因为任何更改都将被主机类所覆盖。
从 API 23
开始, 在主机方法 之后调用委托方法,所有属性都将被修改而不被主机类覆盖。
Parameters | |
---|---|
delegate |
View.AccessibilityDelegate : the object to which accessibility method calls should be delegated |
也可以看看:
void setAccessibilityLiveRegion (int mode)
为此视图设置实时区域模式。 这表明无障碍服务是否应自动通知用户有关视图内容描述或文本的更改,或视图的子项(如果适用)的内容描述或文本。
例如,在具有显示“密码错误”通知的TextView的登录屏幕中,应该将该视图标记为模式为 ACCESSIBILITY_LIVE_REGION_POLITE
的实时区域。
要为此视图禁用更改通知,请使用ACCESSIBILITY_LIVE_REGION_NONE
。 这是大多数视图的默认实时区域模式。
为了表明应该通知用户更改,请使用 ACCESSIBILITY_LIVE_REGION_POLITE
。
如果视图的更改应该中断正在进行的讲话并立即通知用户,请使用 ACCESSIBILITY_LIVE_REGION_ASSERTIVE
。
相关XML属性:
Parameters | |
---|---|
mode |
int : The live region mode for this view, one of:
|
void setAccessibilityTraversalAfter (int afterId)
在可访问性遍历中设置一个视图的ID,在该视图之后访问此视图的ID。 屏幕阅读器必须在此内容之前访问其他视图的内容。 例如,如果视图B被设置为在视图A之后,那么屏幕阅读器将在遍历B的整个内容之前遍历A的全部内容,并对照它使用的遍历策略。
在屏幕阅读器确定的顺序中遍历关系之前/之后没有指定的视图。
将此视图设置为对可访问性不重要的视图之后,或者此视图对可访问性不重要的视图将不起作用,因为屏幕阅读器不知道不重要的视图。
相关XML属性:
Parameters | |
---|---|
afterId |
int : The id of a view this one succedees in accessibility traversal. |
void setAccessibilityTraversalBefore (int beforeId)
设置在可访问性遍历中访问此视图之前的视图的标识。 屏幕阅读器必须在它前面的内容之前访问该视图的内容。 例如,如果视图B被设置为在视图A之前,那么屏幕阅读器将在遍历A的整个内容之前遍历B的整个内容,并且关注它正在使用的遍历策略。
在屏幕阅读器确定的顺序中遍历关系之前/之后没有指定的视图。
将此视图设置为对可访问性不重要的视图之前,或者如果此视图对可访问性不重要,则屏幕阅读器不会察觉到不重要的视图。
相关XML属性:
Parameters | |
---|---|
beforeId |
int : The id of a view this one precedes in accessibility traversal. |
void setActivated (boolean activated)
更改此视图的激活状态。 视图可以被激活或不被激活。 请注意,激活与选择不同。 选择是一个瞬态属性,表示用户当前正在与之交互的视图(层次结构)。 激活是用户可以将视图移入和移出的较长期状态。 例如,在启用单个或多个选择的列表视图中,激活当前选择集中的视图。 (嗯,是的,我们对此处的术语深表遗憾。)激活的状态传播到它所设置的视图的子节点。
Parameters | |
---|---|
activated |
boolean : true if the view must be activated, false otherwise |
void setAlpha (float alpha)
将视图的不透明度设置为0到1的值,其中0表示视图完全透明,1表示视图完全不透明。
注意:将alpha设置为半透明值(0 <alpha <1)会对性能产生重大影响,特别是对于大视图。 最好少用短暂地使用alpha属性,就像在淡入淡出的动画中一样。
对于频繁变化的alpha(例如在淡入淡出动画期间)的视图,强烈建议出于性能原因,或者覆盖hasOverlappingRendering()
以返回false
如果适用),或者在动画持续时间layer type
视图上设置layer type
。 在版本M
及以下版本中,使用alpha渲染非层叠视图的默认路径可能会增加几毫秒的渲染成本,即使对于简单或小视图也是如此。 从M
开始, LAYER_TYPE_HARDWARE
会自动应用于渲染级别的视图。
如果此视图重写 onSetAlpha(int)
以返回true,则此视图负责应用不透明度本身。
在版本 LOLLIPOP_MR1
及以下版本中,请注意,如果视图由 layer
支持并与 layer paint
关联,则设置小于1.0的alpha值将取代图层绘制的Alpha。
与开始 M
,设置半透明的α值将夹视图到其边界,除非查看返回 false
从 hasOverlappingRendering()
。
相关XML属性:
Parameters | |
---|---|
alpha |
float : The opacity of the view. |
void setAnimation (Animation animation)
设置要为此视图播放的下一个动画。 如果您想立即播放动画, startAnimation(android.view.animation.Animation)
改为使用startAnimation(android.view.animation.Animation)
。 此方法提供了对开始时间和失效的细粒度控制,但您必须确保1)动画具有开始时间设置,并且2)视图的父级(控制其子级上的动画)将在动画应该开始。
Parameters | |
---|---|
animation |
Animation : The next animation, or null. |
void setBackground (Drawable background)
将背景设置为给定的Drawable,或者删除背景。 如果背景具有填充,则该视图的填充设置为背景的填充。 但是,当删除背景时,不会触及此视图的填充。 如果需要设置填充,请使用setPadding(int, int, int, int)
。
Parameters | |
---|---|
background |
Drawable : The Drawable to use as the background, or null to remove the background |
void setBackgroundColor (int color)
设置此视图的背景颜色。
Parameters | |
---|---|
color |
int : the color of the background |
void setBackgroundDrawable (Drawable background)
此方法在API级别16中已被弃用。
改为使用setBackground(Drawable)
Parameters | |
---|---|
background |
Drawable
|
void setBackgroundResource (int resid)
将背景设置为给定的资源。 该资源应该引用可绘制对象或0来移除背景。
相关XML属性:
Parameters | |
---|---|
resid |
int : The identifier of the resource. |
void setBackgroundTintList (ColorStateList tint)
将背景色应用于背景。 不会修改当前的色调模式,默认为SRC_IN
。
随后调用 setBackground(Drawable)
会自动改变drawable,并使用 setTintList(ColorStateList)
应用指定的色调和色调模式。
相关XML属性:
Parameters | |
---|---|
tint |
ColorStateList : the tint to apply, may be null to clear tint |
void setBackgroundTintMode (PorterDuff.Mode tintMode)
指定用于将setBackgroundTintList(ColorStateList)
}指定的色调应用于背景可绘制的混合模式。 默认模式是SRC_IN
。
相关XML属性:
Parameters | |
---|---|
tintMode |
PorterDuff.Mode : the blending mode used to apply the tint, may be null to clear tint |
void setBottom (int bottom)
设置此视图相对于其父项的底部位置。 这个方法意味着被布局系统调用,通常不应该被另外调用,因为这个属性可能随时被布局改变。
Parameters | |
---|---|
bottom |
int : The bottom of this view, in pixels. |
void setCameraDistance (float distance)
将摄像机沿Z轴(与绘制视图的X / Y平面正交)的距离设置为此视图。 相机的距离会影响3D变换,例如绕X轴和Y轴旋转。 如果rotationX或rotationY属性发生改变且视图很大(超过屏幕大小的一半),建议始终使用大于高度(X轴旋转)或宽度(Y轴旋转)的相机距离)这种观点。
摄像机与视平面之间的距离可能会影响视图在绕x或y轴旋转时的视角失真。 例如,较大的距离会导致较大的视角,并且视图在旋转时不会有太多的透视失真。 短距离旋转可能会导致更多的透视失真,并且如果旋转后的视图部分位于摄像机后面,也可能会导致一些绘画伪影(这就是为什么建议使用的距离至少等于查看,如果视图要旋转。)
距离以“深度像素”表示。 默认距离取决于屏幕密度。 例如,在中等密度显示屏上,默认距离为1280.在高密度显示屏上,默认距离为1920。
如果您想要指定一个距离,以导致跨不同密度的视觉上一致的结果,请使用以下公式:
float scale = context.getResources().getDisplayMetrics().density; view.setCameraDistance(distance * scale);
高密度显示器的密度比例因子是1.5,并且1920 = 1280 * 1.5。
Parameters | |
---|---|
distance |
float : The distance in "depth pixels", if negative the opposite value is used |
void setClickable (boolean clickable)
启用或停用此视图的点击事件。 当一个视图可点击时,它会在每次点击时将其状态更改为“按下”。 子类应该将视图设置为可点击,以便对用户的点击进行可视化反应。
相关XML属性:
Parameters | |
---|---|
clickable |
boolean : true to make the view clickable, false otherwise |
也可以看看:
void setClipBounds (Rect clipBounds)
在该视图上设置矩形区域,视图在绘制时将被裁剪到该区域。 将该值设置为null将删除剪辑边界,并且视图将使用其全部范围正常绘制。
Parameters | |
---|---|
clipBounds |
Rect : The rectangular area, in the local coordinates of this view, to which future drawing operations will be clipped. |
void setClipToOutline (boolean clipToOutline)
设置是否应该使用视图的大纲剪辑视图的内容。
任何时候只能将一个非矩形剪辑应用于视图。 来自circular reveal
动画的循环剪辑优先于轮廓剪切,并且子轮廓剪切优先于由父级完成的轮廓剪切。
请注意,如果视图的大纲从 canClip()
返回true,则只会遵守此标志。
Parameters | |
---|---|
clipToOutline |
boolean
|
void setContentDescription (CharSequence contentDescription)
设置 View
的内容描述。
内容描述简要描述视图,主要用于辅助功能支持,以确定如何将视图呈现给用户。 在没有文本表示的视图的情况下,例如ImageButton
,有用的内容描述解释了视图的作用。 例如,带有用于发起呼叫的电话图标的图像按钮可以使用“呼叫”作为其内容描述。 用于保存文件的软盘映像可能使用“保存”。
相关XML属性:
Parameters | |
---|---|
contentDescription |
CharSequence : The content description. |
也可以看看:
void setContextClickable (boolean contextClickable)
为此视图启用或禁用上下文点击。 此事件可以启动侦听器。
相关XML属性:
Parameters | |
---|---|
contextClickable |
boolean : true to make the view react to a context click, false otherwise |
也可以看看:
void setDrawingCacheBackgroundColor (int color)
为绘图缓存的位图设置纯色背景可以提高性能和内存使用率。 请注意,尽管如此,只有在该视图总是绘制在纯色上才能使用。
Parameters | |
---|---|
color |
int : The background color to use for the drawing cache's bitmap |
void setDrawingCacheEnabled (boolean enabled)
启用或禁用图形缓存。 当绘图缓存被启用时,下一个对getDrawingCache()
或buildDrawingCache()
调用将getDrawingCache()
图中绘制视图。 当缓存启用时,调用draw(android.graphics.Canvas)
不会从缓存中获取。 要从缓存中受益,必须通过调用getDrawingCache()
来请求图形缓存,并在返回的位图不为空时在屏幕上绘制缓存。
当硬件加速关闭时,启用绘图缓存与setting a layer
类似。 启用硬件加速时,启用绘图缓存对渲染没有影响,因为系统使用不同的加速机制来忽略标记。 如果要为视图使用位图,即使已启用硬件加速,请参阅setLayerType(int, android.graphics.Paint)
以获取有关如何启用软件和硬件层的信息。
该API可用于手动生成此视图的位图副本,方法是将该标志设置为 true
并调用 getDrawingCache()
。
Parameters | |
---|---|
enabled |
boolean : true to enable the drawing cache, false otherwise |
void setDrawingCacheQuality (int quality)
设置此视图的图形缓存质量。 该值仅在绘图缓存启用时使用
相关XML属性:
Parameters | |
---|---|
quality |
int : One of DRAWING_CACHE_QUALITY_AUTO , DRAWING_CACHE_QUALITY_LOW , or DRAWING_CACHE_QUALITY_HIGH |
void setDuplicateParentStateEnabled (boolean enabled)
在此视图中启用或禁用父级状态的重复。 启用复制时,此视图从其父项获取其可绘制状态,而不是从其内部属性获取。
注意:在当前实现中,在将视图添加到ViewGroup后,将此属性设置为true可能根本没有任何作用。 在将此视图添加到ViewGroup之前,应始终使用该属性或将其设置为true。
注意:如果此视图的父级addStateFromChildren属性已启用并且此属性已启用,则将引发异常。
注意:如果子视图使用并更新父级未知的其他状态,则这些状态不应受此方法的影响。
Parameters | |
---|---|
enabled |
boolean : True to enable duplication of the parent's drawable state, false to disable it. |
void setElevation (float elevation)
设置此视图的基本高程(以像素为单位)。
相关XML属性:
Parameters | |
---|---|
elevation |
float
|
void setEnabled (boolean enabled)
设置此视图的启用状态。 启用状态的解释因子而异。
Parameters | |
---|---|
enabled |
boolean : True if this view is enabled, false otherwise. |
void setFadingEdgeLength (int length)
设置用于指示此视图中有更多内容可用的褪色边的大小。 不会改变是否启用衰落边缘; 使用setVerticalFadingEdgeEnabled(boolean)
或setHorizontalFadingEdgeEnabled(boolean)
为垂直或水平衰落边缘启用衰落边缘。
Parameters | |
---|---|
length |
int : The size in pixels of the faded edge used to indicate that more content in this view is visible. |
void setFilterTouchesWhenObscured (boolean enabled)
设置当视图的窗口被另一个可见窗口遮挡时,框架是否应放弃触摸。 有关更多详细信息,请参阅View
安全性文档。
相关XML属性:
Parameters | |
---|---|
enabled |
boolean : True if touch filtering should be enabled. |
void setFitsSystemWindows (boolean fitSystemWindows)
设置此视图是否应考虑系统屏幕装饰(如状态栏和插入其内容); 即控制是否执行fitSystemWindows(Rect)
的默认实现。 请参阅该方法以获取更多详细信
请注意,如果您提供自己的实现 fitSystemWindows(Rect)
,则不需要将此标志设置为true - 您的实现将覆盖检查此标志的默认实现。
相关XML属性:
Parameters | |
---|---|
fitSystemWindows |
boolean : If true, then the default implementation of fitSystemWindows(Rect) will be executed. |
void setFocusable (boolean focusable)
设置此视图是否可以获得焦点。 将其设置为false也将确保此视图在触摸模式下不可聚焦。
相关XML属性:
Parameters | |
---|---|
focusable |
boolean : If true, this view can receive the focus. |
void setFocusableInTouchMode (boolean focusableInTouchMode)
设置此视图是否可以在触摸模式下获得焦点。 将其设置为true还将确保此视图可以聚焦。
相关XML属性:
Parameters | |
---|---|
focusableInTouchMode |
boolean : If true, this view can receive the focus while in touch mode. |
也可以看看:
void setForeground (Drawable foreground)
提供要在视图中的所有内容之上呈现的Drawable。
相关XML属性:
Parameters | |
---|---|
foreground |
Drawable : the Drawable to be drawn on top of the children |
void setForegroundGravity (int gravity)
描述前景如何定位。 默认为START和TOP。
相关XML属性:
Parameters | |
---|---|
gravity |
int : see Gravity |
也可以看看:
void setForegroundTintList (ColorStateList tint)
将前景应用于可绘制的前景。 不会修改当前着色模式,默认为SRC_IN
。
随后拨打 setForeground(Drawable)
将自动 setForeground(Drawable)
绘图并使用 setTintList(ColorStateList)
应用指定的色调和色调模式。
相关XML属性:
Parameters | |
---|---|
tint |
ColorStateList : the tint to apply, may be null to clear tint |
void setForegroundTintMode (PorterDuff.Mode tintMode)
指定用于将背景可绘制的颜色应用于setForegroundTintList(ColorStateList)
}的色调的混合模式。 默认模式是SRC_IN
。
相关XML属性:
Parameters | |
---|---|
tintMode |
PorterDuff.Mode : the blending mode used to apply the tint, may be null to clear tint |
void setHapticFeedbackEnabled (boolean hapticFeedbackEnabled)
设置此视图是否应该针对长按等事件提供触觉反馈。
如果您的视图已经控制了自己的触觉反馈,您可能希望禁用触觉反馈。
相关XML属性:
Parameters | |
---|---|
hapticFeedbackEnabled |
boolean : whether haptic feedback enabled for this view. |
void setHasTransientState (boolean hasTransientState)
设置此视图是否正在跟踪框架应尽可能保留的暂时状态。 这个标志是引用计数的,所以每次调用setHasTransientState(true)都应该与以后对setHasTransientState(false)的调用配对。
具有临时状态的视图不能从外部数据源轻松地重新启动,例如列表中的适配器绑定项目视图。 这可能是因为视图正在执行动画,跟踪用户对内容的选择等。
Parameters | |
---|---|
hasTransientState |
boolean : true if this view has transient state |
void setHorizontalFadingEdgeEnabled (boolean horizontalFadingEdgeEnabled)
定义此视图水平滚动时是否应淡化水平边缘。
相关XML属性:
Parameters | |
---|---|
horizontalFadingEdgeEnabled |
boolean : true if the horizontal edges should be faded when the view is scrolled horizontally |
void setHorizontalScrollBarEnabled (boolean horizontalScrollBarEnabled)
定义是否绘制水平滚动条。 滚动条默认没有绘制。
Parameters | |
---|---|
horizontalScrollBarEnabled |
boolean : true if the horizontal scrollbar should be painted |
void setHovered (boolean hovered)
设置视图当前是否被徘徊。
调用此方法还会更改视图的可绘制状态。 这使得视图可以通过使用不同的可绘制资源来改变其外观,从而对视图进行反应。
当悬停状态改变时,将调用 onHoverChanged(boolean)
方法。
Parameters | |
---|---|
hovered |
boolean : True if the view is hovered. |
void setId (int id)
设置此视图的标识符。 标识符在该视图的层次结构中不必是唯一的。 标识符应该是一个正数。
相关XML属性:
Parameters | |
---|---|
id |
int : a number used to identify the view |
也可以看看:
void setImportantForAccessibility (int mode)
设置如何确定此视图是否对可访问性很重要,即如果它触发辅助功能事件并将其报告给查询屏幕的辅助功能服务。
相关XML属性:
Parameters | |
---|---|
mode |
int : How to determine whether this view is important for accessibility. |
void setKeepScreenOn (boolean keepScreenOn)
控制屏幕是否保持打开状态,修改值 KEEP_SCREEN_ON
。
相关XML属性:
Parameters | |
---|---|
keepScreenOn |
boolean : Supply true to set KEEP_SCREEN_ON . |
也可以看看:
void setLabelFor (int id)
将此视图用作可访问性标签的视图的标识。
Parameters | |
---|---|
id |
int : The labeled view id. |
void setLayerPaint (Paint paint)
更新与当前图层一起使用的Paint
对象(仅在当前图层类型未设置为LAYER_TYPE_NONE
)。 下一次重绘视图时将使用提供给setLayerType(int, android.graphics.Paint)
的Paint的更改属性,但必须调用setLayerPaint(android.graphics.Paint)
以确保立即重绘视图。
一个图层与一个可选的Paint
实例相关联,该实例控制图层在屏幕上的组成方式。 组成图层时考虑以下涂料属性:
如果通过调用 setAlpha(float)
将此视图的alpha值设置为<1.0,则该图层的alpha值将被此视图的alpha值取代。
Parameters | |
---|---|
paint |
Paint : The paint used to compose the layer. This argument is optional and can be null. It is ignored when the layer type is LAYER_TYPE_NONE |
void setLayerType (int layerType, Paint paint)
指定支持此视图的图层的类型。 该层可以是LAYER_TYPE_NONE
, LAYER_TYPE_SOFTWARE
或LAYER_TYPE_HARDWARE
。
一个图层与可选的Paint
实例相关联,该实例控制图层在屏幕上的组成方式。 组成图层时考虑以下涂料属性:
如果通过调用 setAlpha(float)
将此视图的alpha值设置为<1.0,则该图层的alpha值将被此视图的alpha值取代。
请参阅的文件 LAYER_TYPE_NONE
, LAYER_TYPE_SOFTWARE
和 LAYER_TYPE_HARDWARE
有关何时以及如何使用层的更多信息。
相关XML属性:
Parameters | |
---|---|
layerType |
int : The type of layer to use with this view, must be one of LAYER_TYPE_NONE , LAYER_TYPE_SOFTWARE or LAYER_TYPE_HARDWARE |
paint |
Paint : The paint used to compose the layer. This argument is optional and can be null. It is ignored when the layer type is LAYER_TYPE_NONE |
void setLayoutDirection (int layoutDirection)
为此视图设置布局方向。 这会将布局方向分辨率的重置传播给视图的子节点,并解析该视图的布局方向。
相关XML属性:
Parameters | |
---|---|
layoutDirection |
int : the layout direction to set. Should be one of: LAYOUT_DIRECTION_LTR , LAYOUT_DIRECTION_RTL , LAYOUT_DIRECTION_INHERIT , LAYOUT_DIRECTION_LOCALE . Resolution will be done if the value is set to LAYOUT_DIRECTION_INHERIT. The resolution proceeds up the parent chain of the view to get the value. If there is no parent, then it will return the default LAYOUT_DIRECTION_LTR . |
void setLayoutParams (ViewGroup.LayoutParams params)
设置与此视图关联的布局参数。 这些视图的父级提供参数,指定应如何安排。 ViewGroup.LayoutParams有许多子类,它们对应ViewGroup的不同子类,它们负责安排子级。
Parameters | |
---|---|
params |
ViewGroup.LayoutParams : The layout parameters for this view, cannot be null |
void setLeft (int left)
设置此视图相对于其父项的左侧位置。 这个方法意味着被布局系统调用,通常不应该被另外调用,因为这个属性可能随时被布局改变。
Parameters | |
---|---|
left |
int : The left of this view, in pixels. |
void setLongClickable (boolean longClickable)
为此视图启用或禁用长时间点击事件。 当一个视图可以长时间点击时,它会对用户按下按钮的时间长于轻敲。 此事件可以启动侦听器或上下文菜单。
相关XML属性:
Parameters | |
---|---|
longClickable |
boolean : true to make the view long clickable, false otherwise |
也可以看看:
void setMinimumHeight (int minHeight)
设置视图的最小高度。 不能保证视图能够达到这个最小高度(例如,如果它的父布局用较少的可用高度限制它)。
相关XML属性:
Parameters | |
---|---|
minHeight |
int : The minimum height the view will try to be. |
也可以看看:
void setMinimumWidth (int minWidth)
设置视图的最小宽度。 不能保证视图能够达到这个最小宽度(例如,如果它的父布局用较小的可用宽度限制它)。
相关XML属性:
Parameters | |
---|---|
minWidth |
int : The minimum width the view will try to be. |
也可以看看:
void setNestedScrollingEnabled (boolean enabled)
启用或禁用此视图的嵌套滚动。
如果此属性设置为true,则视图将被允许在当前层次结构中使用兼容父视图启动嵌套滚动操作。 如果这个视图没有实现嵌套滚动,这将不起作用。 当嵌套滚动正在进行时禁用嵌套滚动具有stopping
嵌套滚动的效果。
Parameters | |
---|---|
enabled |
boolean : true to enable nested scrolling, false to disable |
也可以看看:
void setNextFocusDownId (int nextFocusDownId)
设置下一个焦点为 FOCUS_DOWN
时要使用的视图的ID。
相关XML属性:
Parameters | |
---|---|
nextFocusDownId |
int : The next focus ID, or NO_ID if the framework should decide automatically. |
void setNextFocusForwardId (int nextFocusForwardId)
设置下一个焦点为 FOCUS_FORWARD
时要使用的视图的ID。
相关XML属性:
Parameters | |
---|---|
nextFocusForwardId |
int : The next focus ID, or NO_ID if the framework should decide automatically. |
void setNextFocusLeftId (int nextFocusLeftId)
设置下一个焦点为 FOCUS_LEFT
时要使用的视图的ID。
相关XML属性:
Parameters | |
---|---|
nextFocusLeftId |
int : The next focus ID, or NO_ID if the framework should decide automatically. |
void setNextFocusRightId (int nextFocusRightId)
设置下一个焦点为 FOCUS_RIGHT
时要使用的视图的ID。
相关XML属性:
Parameters | |
---|---|
nextFocusRightId |
int : The next focus ID, or NO_ID if the framework should decide automatically. |
void setNextFocusUpId (int nextFocusUpId)
设置下一个焦点为 FOCUS_UP
时要使用的视图的ID。
相关XML属性:
Parameters | |
---|---|
nextFocusUpId |
int : The next focus ID, or NO_ID if the framework should decide automatically. |
void setOnApplyWindowInsetsListener (View.OnApplyWindowInsetsListener listener)
设置一个View.OnApplyWindowInsetsListener
以接管将视窗插入应用于此视图的策略。 将调用监听器的onApplyWindowInsets
方法,而不是视图的onApplyWindowInsets
方法。
Parameters | |
---|---|
listener |
View.OnApplyWindowInsetsListener : Listener to set |
void setOnClickListener (View.OnClickListener l)
单击此视图时注册要调用的回调。 如果此视图不可点击,则可点击。
Parameters | |
---|---|
l |
View.OnClickListener : The callback that will run |
也可以看看:
void setOnContextClickListener (View.OnContextClickListener l)
单击上下文时注册要调用的回调。 如果视图不是上下文可点击的,则它变为上下文可点击。
Parameters | |
---|---|
l |
View.OnContextClickListener : The callback that will run |
也可以看看:
void setOnCreateContextMenuListener (View.OnCreateContextMenuListener l)
当正在构建此视图的上下文菜单时,注册要调用的回调。 如果这个视图不是可以长时间点击的,就会变得很长可点击。
Parameters | |
---|---|
l |
View.OnCreateContextMenuListener : The callback that will run |
void setOnDragListener (View.OnDragListener l)
为此视图注册拖动事件侦听器回调对象。 该参数是View.OnDragListener
一个实现。 要向视图发送拖动事件,系统将调用onDrag(View, DragEvent)
方法。
Parameters | |
---|---|
l |
View.OnDragListener : An implementation of View.OnDragListener . |
void setOnFocusChangeListener (View.OnFocusChangeListener l)
注册一个回调,当这个视图的焦点改变时被调用。
Parameters | |
---|---|
l |
View.OnFocusChangeListener : The callback that will run. |
void setOnGenericMotionListener (View.OnGenericMotionListener l)
当通用运动事件被发送到这个视图时,注册一个回调被调用。
Parameters | |
---|---|
l |
View.OnGenericMotionListener : the generic motion listener to attach to this view |
void setOnHoverListener (View.OnHoverListener l)
将悬停事件发送到此视图时注册要调用的回调。
Parameters | |
---|---|
l |
View.OnHoverListener : the hover listener to attach to this view |
void setOnKeyListener (View.OnKeyListener l)
在此视图中按下硬件按键时注册要调用的回调。 软件输入法中的按键通常不会触发这个监听器的方法。
Parameters | |
---|---|
l |
View.OnKeyListener : the key listener to attach to this view |
void setOnLongClickListener (View.OnLongClickListener l)
当单击并保持此视图时,注册要调用的回调。 如果这个视图不是可以长时间点击的,就会变得很长可点击。
Parameters | |
---|---|
l |
View.OnLongClickListener : The callback that will run |
也可以看看:
void setOnScrollChangeListener (View.OnScrollChangeListener l)
当此视图的滚动X或Y位置更改时,注册一个要调用的回调。
注意:一些视图可以独立于View处理滚动,并且可以为滚动类型事件分别拥有自己的侦听器。 例如, ListView
允许客户端注册AbsListView.OnScrollListener
以侦听列表滚动位置的更改。
Parameters | |
---|---|
l |
View.OnScrollChangeListener : The listener to notify when the scroll X or Y position changes. |
也可以看看:
void setOnSystemUiVisibilityChangeListener (View.OnSystemUiVisibilityChangeListener l)
设置监听器以在系统栏可见性更改时接收回调。
Parameters | |
---|---|
l |
View.OnSystemUiVisibilityChangeListener : The View.OnSystemUiVisibilityChangeListener to receive callbacks. |
void setOnTouchListener (View.OnTouchListener l)
当触摸事件发送到此视图时,注册要调用的回调。
Parameters | |
---|---|
l |
View.OnTouchListener : the touch listener to attach to this view |
void setOutlineProvider (ViewOutlineProvider provider)
设置视图的 ViewOutlineProvider
,该视图生成定义其投射阴影形状的Outline,并启用轮廓剪裁。
默认的ViewOutlineProvider, BACKGROUND
,通过getOutline(Outline)
查看视图背景可绘制的getOutline(Outline)
。 使用此方法更改提纲提供程序允许覆盖此行为。
如果ViewOutlineProvider为null,如果查询轮廓返回false,或者生成的Outline为 isEmpty()
,则不会投射阴影。
只有从 canClip()
返回true的轮廓才可用于剪辑。
Parameters | |
---|---|
provider |
ViewOutlineProvider
|
void setOverScrollMode (int overScrollMode)
为此视图设置过卷模式。 有效的滚动模式有OVER_SCROLL_ALWAYS
(默认), OVER_SCROLL_IF_CONTENT_SCROLLS
(仅当视图内容大于容器时才允许过度滚动)或OVER_SCROLL_NEVER
。 仅当视图能够滚动时才能设置视图的滚动模式。
Parameters | |
---|---|
overScrollMode |
int : The new over-scroll mode for this view. |
void setPadding (int left, int top, int right, int bottom)
设置填充。 该视图可能会添加显示滚动条所需的空间,具体取决于滚动条的样式和可见性。 因此,从数值返回getPaddingLeft()
, getPaddingTop()
, getPaddingRight()
和getPaddingBottom()
可能与此调用设置的值不同。
相关XML属性:
Parameters | |
---|---|
left |
int : the left padding in pixels |
top |
int : the top padding in pixels |
right |
int : the right padding in pixels |
bottom |
int : the bottom padding in pixels |
void setPaddingRelative (int start, int top, int end, int bottom)
设置相对填充。 该视图可能会添加显示滚动条所需的空间,具体取决于滚动条的样式和可见性。 因此,从数值返回getPaddingStart()
, getPaddingTop()
, getPaddingEnd()
和getPaddingBottom()
可能与此调用设置的值不同。
相关XML属性:
Parameters | |
---|---|
start |
int : the start padding in pixels |
top |
int : the top padding in pixels |
end |
int : the end padding in pixels |
bottom |
int : the bottom padding in pixels |
void setPivotX (float pivotX)
设置视图rotated
和scaled
周围点的x位置。 默认情况下,枢轴点位于对象的中心。 设置此属性将禁用此行为,并使视图仅使用显式设置的pivotX和pivotY值。
相关XML属性:
Parameters | |
---|---|
pivotX |
float : The x location of the pivot point. |
void setPivotY (float pivotY)
设置视图为rotated
和scaled
的点的y位置。 默认情况下,枢轴点位于对象的中心。 设置此属性将禁用此行为,并使视图仅使用显式设置的pivotX和pivotY值。
相关XML属性:
Parameters | |
---|---|
pivotY |
float : The y location of the pivot point. |
void setPointerIcon (PointerIcon pointerIcon)
设置当前视图的指针图标。 通过null
将指针图标恢复为默认值。
Parameters | |
---|---|
pointerIcon |
PointerIcon : A PointerIcon instance which will be shown when the mouse hovers. |
void setPressed (boolean pressed)
设置此视图的按下状态。
Parameters | |
---|---|
pressed |
boolean : Pass true to set the View's internal state to "pressed", or false to reverts the View's internal state from a previously set "pressed" state. |
void setRight (int right)
设置此视图相对于其父项的正确位置。 这个方法意味着被布局系统调用,通常不应该被另外调用,因为这个属性可能随时被布局改变。
Parameters | |
---|---|
right |
int : The right of this view, in pixels. |
void setRotation (float rotation)
设置视图围绕枢轴点旋转的角度。 增加值会导致顺时针旋转。
相关XML属性:
Parameters | |
---|---|
rotation |
float : The degrees of rotation. |
void setRotationX (float rotationX)
设置视图通过枢轴点围绕水平轴旋转的角度。 从向下看x轴的角度看,增加值导致顺时针旋转。 旋转大视角时,建议相应调整相机距离。 有关更多信息,请参阅setCameraDistance(float)
。
相关XML属性:
Parameters | |
---|---|
rotationX |
float : The degrees of X rotation. |
void setRotationY (float rotationY)
设置视图围绕通过枢轴点的垂直轴旋转的角度。 从向下看y轴的角度看,增加值导致逆时针旋转。 旋转大视角时,建议相应调整相机距离。 有关更多信息,请参阅setCameraDistance(float)
。
相关XML属性:
Parameters | |
---|---|
rotationY |
float : The degrees of Y rotation. |
void setSaveEnabled (boolean enabled)
控制是否启用保存此视图的状态(即,是否调用其onSaveInstanceState()
方法)。 请注意,即使冻结启用,视图仍然必须分配一个ID(通过setId(int)
),以保存其状态。 这个标志只能禁止保存这个视图; 任何子视图可能仍然保存其状态。
相关XML属性:
Parameters | |
---|---|
enabled |
boolean : Set to false to disable state saving, or true (the default) to allow it. |
void setSaveFromParentEnabled (boolean enabled)
控制此视图下的整个层次结构是否会在其父级发生状态保存遍历时保存其状态。 默认值是true; 如果为false,则除非在此视图上直接调用saveHierarchyState(SparseArray)
否则不会保存这些视图。
Parameters | |
---|---|
enabled |
boolean : Set to false to disable state saving, or true (the default) to allow it. |
void setScaleX (float scaleX)
以视图的未缩放宽度的比例设置视图在x轴周围按比例缩放的量。 值1表示不应用缩放。
相关XML属性:
Parameters | |
---|---|
scaleX |
float : The scaling factor. |
也可以看看:
void setScaleY (float scaleY)
以视图的未缩放宽度的比例设置视图在Y轴周围缩放的量。 值1表示不应用缩放。
相关XML属性:
Parameters | |
---|---|
scaleY |
float : The scaling factor. |
也可以看看:
void setScrollBarDefaultDelayBeforeFade (int scrollBarDefaultDelayBeforeFade)
定义滚动条淡出之前的延迟。
相关XML属性:
Parameters | |
---|---|
scrollBarDefaultDelayBeforeFade |
int : - the delay before scrollbars fade |
void setScrollBarFadeDuration (int scrollBarFadeDuration)
定义滚动条淡入时间。
相关XML属性:
Parameters | |
---|---|
scrollBarFadeDuration |
int : - the scrollbar fade duration |
void setScrollBarSize (int scrollBarSize)
定义滚动条的大小。
相关XML属性:
Parameters | |
---|---|
scrollBarSize |
int : - the scrollbar size |
void setScrollBarStyle (int style)
指定滚动条的样式。 滚动条可以重叠或嵌入。 插入时,它们添加到视图的填充。 滚动条可以在填充区域或视图的边缘内绘制。 例如,如果视图具有可绘制背景,并且您想要在drawable指定的填充内绘制滚动条,则可以使用SCROLLBARS_INSIDE_OVERLAY或SCROLLBARS_INSIDE_INSET。 如果您希望它们出现在视图边缘,忽略填充,则可以使用SCROLLBARS_OUTSIDE_OVERLAY或SCROLLBARS_OUTSIDE_INSET。
相关XML属性:
Parameters | |
---|---|
style |
int : the style of the scrollbars. Should be one of SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_INSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET. |
void setScrollContainer (boolean isScrollContainer)
更改此视图是否是其窗口中的一组可滚动容器。 这将用于确定窗口是否可以调整大小,或者在软输入区域打开时必须平移 - 可滚动容器允许窗口使用调整大小模式,因为容器将适当缩小。
相关XML属性:
Parameters | |
---|---|
isScrollContainer |
boolean
|
void setScrollIndicators (int indicators, int mask)
设置由蒙版指定的滚动指示器的状态。 要一次更改所有滚动指示器,请参阅setScrollIndicators(int)
。
当滚动指示器启用时,如果视图可以沿指示器方向滚动,则会显示滚动指示器。
通过传递所需类型的逻辑OR,可以启用或禁用多种指示器类型。 如果指定了多个类型,它们将全部设置为相同的启用状态。
例如,要启用顶部滚动指示器例如:setScrollIndicators
相关XML属性:
Parameters | |
---|---|
indicators |
int : the indicator direction, or the logical OR of multiple indicator directions. One or more of:
|
mask |
int
|
void setScrollIndicators (int indicators)
设置所有滚动指示器的状态。
有关使用信息,请参阅 setScrollIndicators(int, int)
。
相关XML属性:
Parameters | |
---|---|
indicators |
int : a bitmask of indicators that should be enabled, or 0 to disable all indicators |
void setScrollX (int value)
设置视图的水平滚动位置。 这将导致致电onScrollChanged(int, int, int, int)
,该视图将失效。
Parameters | |
---|---|
value |
int : the x position to scroll to |
void setScrollY (int value)
设置视图的垂直滚动位置。 这将导致致电onScrollChanged(int, int, int, int)
,视图将失效。
Parameters | |
---|---|
value |
int : the y position to scroll to |
void setScrollbarFadingEnabled (boolean fadeScrollbars)
定义视图不滚动时滚动条是否会淡入淡出。
相关XML属性:
Parameters | |
---|---|
fadeScrollbars |
boolean : whether to enable fading |
void setSelected (boolean selected)
更改此视图的选择状态。 视图可以被选择或不被选择。 请注意,选择与焦点不同。 视图通常在AdapterView(如ListView或GridView)的上下文中选择; 所选视图是突出显示的视图。
Parameters | |
---|---|
selected |
boolean : true if the view must be selected, false otherwise |
void setSoundEffectsEnabled (boolean soundEffectsEnabled)
设置此视图是否应该为点击和触摸等事件启用声音效果。
如果您已经播放了声音,您可能希望为视图禁用声音效果,例如播放dtmf音调的拨号键。
相关XML属性:
Parameters | |
---|---|
soundEffectsEnabled |
boolean : whether sound effects are enabled for this view. |
void setStateListAnimator (StateListAnimator stateListAnimator)
将提供的StateListAnimator附加到此视图。
任何以前连接的StateListAnimator都将被分离。
Parameters | |
---|---|
stateListAnimator |
StateListAnimator : The StateListAnimator to update the view |
void setSystemUiVisibility (int visibility)
要求更改状态栏或其他屏幕/窗口装饰的可见性。
此方法用于将超出设备的UI置入临时模式,其中用户的注意力更多地集中在应用程序内容上,方法是调暗或隐藏周围的系统功能。 这通常与Window.FEATURE_ACTION_BAR_OVERLAY
一起使用,允许将应用程序内容放置在操作栏后面(并使用这些标志显示其他系统可供性),以便隐藏和显示它们之间的平滑过渡可以完成。
使用系统UI可见性的两个代表性例子是实现内容浏览应用程序(如杂志阅读器)和视频播放应用程序。
第一个代码显示了内容浏览应用程序中View的典型实现。 在此实现中,应用程序通过隐藏状态栏和操作栏并将导航元素置于熄灭模式,进入面向内容的模式。 用户可以在此模式下与内容交互。 这样的应用程序应该为用户提供一种轻松切换模式的方式(例如检查状态栏中的信息或访问通知)。 在这里的实现中,这只需通过点击内容来完成。
public static class Content extends ScrollView implements View.OnSystemUiVisibilityChangeListener, View.OnClickListener { TextView mText; TextView mTitleView; SeekBar mSeekView; boolean mNavVisible; int mBaseSystemUiVisibility = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | SYSTEM_UI_FLAG_LAYOUT_STABLE; int mLastSystemUiVis; Runnable mNavHider = new Runnable() { @Override public void run() { setNavVisibility(false); } }; public Content(Context context, AttributeSet attrs) { super(context, attrs); mText = new TextView(context); mText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); mText.setText(context.getString(R.string.alert_dialog_two_buttons2ultra_msg)); mText.setClickable(false); mText.setOnClickListener(this); mText.setTextIsSelectable(true); addView(mText, new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); setOnSystemUiVisibilityChangeListener(this); } public void init(TextView title, SeekBar seek) { // This called by the containing activity to supply the surrounding // state of the content browser that it will interact with. mTitleView = title; mSeekView = seek; setNavVisibility(true); } @Override public void onSystemUiVisibilityChange(int visibility) { // Detect when we go out of low-profile mode, to also go out // of full screen. We only do this when the low profile mode // is changing from its last state, and turning off. int diff = mLastSystemUiVis ^ visibility; mLastSystemUiVis = visibility; if ((diff&SYSTEM_UI_FLAG_LOW_PROFILE) != 0 && (visibility&SYSTEM_UI_FLAG_LOW_PROFILE) == 0) { setNavVisibility(true); } } @Override protected void onWindowVisibilityChanged(int visibility) { super.onWindowVisibilityChanged(visibility); // When we become visible, we show our navigation elements briefly // before hiding them. setNavVisibility(true); getHandler().postDelayed(mNavHider, 2000); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); // When the user scrolls, we hide navigation elements. setNavVisibility(false); } @Override public void onClick(View v) { // When the user clicks, we toggle the visibility of navigation elements. int curVis = getSystemUiVisibility(); setNavVisibility((curVis&SYSTEM_UI_FLAG_LOW_PROFILE) != 0); } void setBaseSystemUiVisibility(int visibility) { mBaseSystemUiVisibility = visibility; } void setNavVisibility(boolean visible) { int newVis = mBaseSystemUiVisibility; if (!visible) { newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN; } final boolean changed = newVis == getSystemUiVisibility(); // Unschedule any pending event to hide navigation if we are // changing the visibility, or making the UI visible. if (changed || visible) { Handler h = getHandler(); if (h != null) { h.removeCallbacks(mNavHider); } } // Set the new desired visibility. setSystemUiVisibility(newVis); mTitleView.setVisibility(visible ? VISIBLE : INVISIBLE); mSeekView.setVisibility(visible ? VISIBLE : INVISIBLE); } }
第二个代码示例显示了视频播放应用程序中View的典型实现。 在这种情况下,当视频播放时,应用程序想要进入完整的全屏模式,以便尽可能多地使用视频。 在这种状态下,用户不能与应用程序交互; 该系统拦截在屏幕上的触摸以将UI弹出全屏模式。 有关此代码的示例布局,请参见fitSystemWindows(Rect)
。
public static class Content extends ImageView implements View.OnSystemUiVisibilityChangeListener, View.OnClickListener, ActionBar.OnMenuVisibilityListener { Activity mActivity; TextView mTitleView; Button mPlayButton; SeekBar mSeekView; boolean mAddedMenuListener; boolean mMenusOpen; boolean mPaused; boolean mNavVisible; int mLastSystemUiVis; Runnable mNavHider = new Runnable() { @Override public void run() { setNavVisibility(false); } }; public Content(Context context, AttributeSet attrs) { super(context, attrs); setOnSystemUiVisibilityChangeListener(this); setOnClickListener(this); } public void init(Activity activity, TextView title, Button playButton, SeekBar seek) { // This called by the containing activity to supply the surrounding // state of the video player that it will interact with. mActivity = activity; mTitleView = title; mPlayButton = playButton; mSeekView = seek; mPlayButton.setOnClickListener(this); setPlayPaused(true); } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); if (mActivity != null) { mAddedMenuListener = true; mActivity.getActionBar().addOnMenuVisibilityListener(this); } } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); if (mAddedMenuListener) { mActivity.getActionBar().removeOnMenuVisibilityListener(this); } } @Override public void onSystemUiVisibilityChange(int visibility) { // Detect when we go out of nav-hidden mode, to clear our state // back to having the full UI chrome up. Only do this when // the state is changing and nav is no longer hidden. int diff = mLastSystemUiVis ^ visibility; mLastSystemUiVis = visibility; if ((diff&SYSTEM_UI_FLAG_HIDE_NAVIGATION) != 0 && (visibility&SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) { setNavVisibility(true); } } @Override protected void onWindowVisibilityChanged(int visibility) { super.onWindowVisibilityChanged(visibility); // When we become visible or invisible, play is paused. setPlayPaused(true); } @Override public void onClick(View v) { if (v == mPlayButton) { // Clicking on the play/pause button toggles its state. setPlayPaused(!mPaused); } else { // Clicking elsewhere makes the navigation visible. setNavVisibility(true); } } @Override public void onMenuVisibilityChanged(boolean isVisible) { mMenusOpen = isVisible; setNavVisibility(true); } void setPlayPaused(boolean paused) { mPaused = paused; mPlayButton.setText(paused ? R.string.play : R.string.pause); setKeepScreenOn(!paused); setNavVisibility(true); } void setNavVisibility(boolean visible) { int newVis = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | SYSTEM_UI_FLAG_LAYOUT_STABLE; if (!visible) { newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION; } // If we are now visible, schedule a timer for us to go invisible. if (visible) { Handler h = getHandler(); if (h != null) { h.removeCallbacks(mNavHider); if (!mMenusOpen && !mPaused) { // If the menus are open or play is paused, we will not auto-hide. h.postDelayed(mNavHider, 3000); } } } // Set the new desired visibility. setSystemUiVisibility(newVis); mTitleView.setVisibility(visible ? VISIBLE : INVISIBLE); mPlayButton.setVisibility(visible ? VISIBLE : INVISIBLE); mSeekView.setVisibility(visible ? VISIBLE : INVISIBLE); } }
Parameters | |
---|---|
visibility |
int : Bitwise-or of flags SYSTEM_UI_FLAG_LOW_PROFILE , SYSTEM_UI_FLAG_HIDE_NAVIGATION , SYSTEM_UI_FLAG_FULLSCREEN , SYSTEM_UI_FLAG_LAYOUT_STABLE , SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION , SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN , SYSTEM_UI_FLAG_IMMERSIVE , and SYSTEM_UI_FLAG_IMMERSIVE_STICKY . |
void setTag (int key, Object tag)
设置与此视图和密钥关联的标签。 标签可以用来在其层次结构中标记视图,并且在层次结构中不必是唯一的。 标签也可以用来在一个视图内存储数据,而不必诉诸于另一个数据结构。 指定的密钥应该是在应用程序的资源中声明的ID,以确保它是唯一的(请参阅ID resource type )。 被标识为属于Android框架或未与任何软件包关联的键将导致IllegalArgumentException
被抛出。
Parameters | |
---|---|
key |
int : The key identifying the tag |
tag |
Object : An Object to tag the view with |
Throws | |
---|---|
IllegalArgumentException |
If they specified key is not valid |
也可以看看:
void setTag (Object tag)
设置与此视图关联的标签。 标签可以用来在其层次结构中标记视图,并且在层次结构中不必是唯一的。 标签也可以用来在一个视图内存储数据,而不必诉诸于另一个数据结构。
Parameters | |
---|---|
tag |
Object : an Object to tag the view with |
也可以看看:
void setTextAlignment (int textAlignment)
设置文本对齐。
相关XML属性:
Parameters | |
---|---|
textAlignment |
int : The text alignment to set. Should be one of TEXT_ALIGNMENT_INHERIT , TEXT_ALIGNMENT_GRAVITY , TEXT_ALIGNMENT_CENTER , TEXT_ALIGNMENT_TEXT_START , TEXT_ALIGNMENT_TEXT_END , TEXT_ALIGNMENT_VIEW_START , TEXT_ALIGNMENT_VIEW_END Resolution will be done if the value is set to TEXT_ALIGNMENT_INHERIT. The resolution proceeds up the parent chain of the view to get the value. If there is no parent, then it will return the default TEXT_ALIGNMENT_GRAVITY . |
void setTextDirection (int textDirection)
设置文字方向。
相关XML属性:
Parameters | |
---|---|
textDirection |
int : the direction to set. Should be one of: TEXT_DIRECTION_INHERIT , TEXT_DIRECTION_FIRST_STRONG , TEXT_DIRECTION_ANY_RTL , TEXT_DIRECTION_LTR , TEXT_DIRECTION_RTL , TEXT_DIRECTION_LOCALE TEXT_DIRECTION_FIRST_STRONG_LTR , TEXT_DIRECTION_FIRST_STRONG_RTL , Resolution will be done if the value is set to TEXT_DIRECTION_INHERIT. The resolution proceeds up the parent chain of the view to get the value. If there is no parent, then it will return the default TEXT_DIRECTION_FIRST_STRONG . |
void setTop (int top)
设置此视图相对于其父项的顶部位置。 这个方法意味着被布局系统调用,通常不应该被另外调用,因为这个属性可能随时被布局改变。
Parameters | |
---|---|
top |
int : The top of this view, in pixels. |
void setTouchDelegate (TouchDelegate delegate)
为此视图设置TouchDelegate。
Parameters | |
---|---|
delegate |
TouchDelegate
|
void setTransitionName (String transitionName)
设置用于识别转场中的视图的视图的名称。 名称在视图层次结构中应该是唯一的。
Parameters | |
---|---|
transitionName |
String : The name of the View to uniquely identify it for Transitions. |
void setTranslationX (float translationX)
设置此视图相对于其left
位置的水平位置。 除了对象的布局放置它之外,这还可以有效地定位对象后布局。
相关XML属性:
Parameters | |
---|---|
translationX |
float : The horizontal position of this view relative to its left position, in pixels. |
void setTranslationY (float translationY)
设置此视图相对于其top
位置的垂直位置。 除了对象的布局放置它之外,这还可以有效地定位对象后布局。
相关XML属性:
Parameters | |
---|---|
translationY |
float : The vertical position of this view relative to its top position, in pixels. |
void setTranslationZ (float translationZ)
设置此视图相对于其 elevation
的深度位置。
相关XML属性:
Parameters | |
---|---|
translationZ |
float
|
void setVerticalFadingEdgeEnabled (boolean verticalFadingEdgeEnabled)
定义此视图垂直滚动时是否应褪色垂直边缘。
相关XML属性:
Parameters | |
---|---|
verticalFadingEdgeEnabled |
boolean : true if the vertical edges should be faded when the view is scrolled vertically |
void setVerticalScrollBarEnabled (boolean verticalScrollBarEnabled)
定义是否应绘制垂直滚动条。 滚动条默认没有绘制。
Parameters | |
---|---|
verticalScrollBarEnabled |
boolean : true if the vertical scrollbar should be painted |
也可以看看:
void setVerticalScrollbarPosition (int position)
设置垂直滚动条的位置。 应该是一个SCROLLBAR_POSITION_DEFAULT
, SCROLLBAR_POSITION_LEFT
或者SCROLLBAR_POSITION_RIGHT
。
Parameters | |
---|---|
position |
int : Where the vertical scroll bar should be positioned. |
void setVisibility (int visibility)
设置此视图的启用状态。
相关XML属性:
Parameters | |
---|---|
visibility |
int : One of VISIBLE , INVISIBLE , or GONE . |
void setWillNotCacheDrawing (boolean willNotCacheDrawing)
当视图的绘图缓存启用时,绘图将重定向到离屏位图。 有些视图像ImageView一样,如果已经绘制了单个位图,则必须能够绕过此机制,以避免不必要地使用内存。
Parameters | |
---|---|
willNotCacheDrawing |
boolean : true if this view does not cache its drawing, false otherwise |
void setWillNotDraw (boolean willNotDraw)
如果此视图本身不执行任何绘制,请设置此标记以允许进一步优化。 默认情况下,此标志未在View上设置,但可以在某些View子类(如ViewGroup)上设置。 通常,如果您覆盖onDraw(android.graphics.Canvas)
,则应清除此标志。
Parameters | |
---|---|
willNotDraw |
boolean : whether or not this View draw on its own |
void setX (float x)
设置此视图的视觉x位置(以像素为单位)。 这相当于将translationX
属性设置为translationX
的x值与当前的left
属性之间的差异。
Parameters | |
---|---|
x |
float : The visual x position of this view, in pixels. |
void setY (float y)
设置此视图的可视y位置(以像素为单位)。 这相当于将translationY
属性设置为translationY
的y值与当前的top
属性之间的差异。
Parameters | |
---|---|
y |
float : The visual y position of this view, in pixels. |
void setZ (float z)
设置此视图的可视z位置,以像素为单位。 这相当于将translationZ
属性设置为translationZ
的x值与当前elevation
属性之间的差异。
Parameters | |
---|---|
z |
float : The visual z position of this view, in pixels. |
boolean showContextMenu ()
显示该视图的上下文菜单。
Returns | |
---|---|
boolean |
true if the context menu was shown, false otherwise |
boolean showContextMenu (float x, float y)
显示锚定到指定视图相对坐标的此视图的上下文菜单。
Parameters | |
---|---|
x |
float : the X coordinate in pixels relative to the view to which the menu should be anchored, or NaN to disable anchoring |
y |
float : the Y coordinate in pixels relative to the view to which the menu should be anchored, or NaN to disable anchoring |
Returns | |
---|---|
boolean |
true if the context menu was shown, false otherwise |
ActionMode startActionMode (ActionMode.Callback callback, int type)
用给定的类型启动一个动作模式。
Parameters | |
---|---|
callback |
ActionMode.Callback : Callback that will control the lifecycle of the action mode |
type |
int : One of TYPE_PRIMARY or TYPE_FLOATING . |
Returns | |
---|---|
ActionMode |
The new action mode if it is started, null otherwise |
也可以看看:
ActionMode startActionMode (ActionMode.Callback callback)
启动默认类型为 TYPE_PRIMARY
的操作模式。
Parameters | |
---|---|
callback |
ActionMode.Callback : Callback that will control the lifecycle of the action mode |
Returns | |
---|---|
ActionMode |
The new action mode if it is started, null otherwise |
void startAnimation (Animation animation)
现在开始指定的动画。
Parameters | |
---|---|
animation |
Animation : the animation to start now |
boolean startDrag (ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)
此方法在API级别24中已弃用。
对于较新的平台版本使用startDragAndDrop()
。
Parameters | |
---|---|
data |
ClipData
|
shadowBuilder |
View.DragShadowBuilder
|
myLocalState |
Object
|
flags |
int
|
Returns | |
---|---|
boolean |
boolean startDragAndDrop (ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)
开始拖放操作。 当你的应用程序调用这个方法时,它将一个View.DragShadowBuilder
对象传递给系统。 系统调用此对象的onProvideShadowMetrics(Point, Point)
来获取拖影的度量标准,然后调用对象的onDrawShadow(Canvas)
来绘制拖影本身。
一旦系统具有拖影,它就会通过将拖动事件发送到当前可见的应用程序中的所有View对象来开始拖放操作。 它通过调用View对象的拖拽侦听器(实现onDrag()
或调用View对象的方法onDragEvent()
。两者都通过一个DragEvent
对象,该getAction()
值为getAction()
值为ACTION_DRAG_STARTED
。
您的应用程序可以在任何附加的View对象上调用startDragAndDrop()
。 View对象不需要是View.DragShadowBuilder
使用的View.DragShadowBuilder
,也不需要与查看选择用于拖动的用户相关联。
Parameters | |
---|---|
data |
ClipData : A ClipData object pointing to the data to be transferred by the drag and drop operation. |
shadowBuilder |
View.DragShadowBuilder : A View.DragShadowBuilder object for building the drag shadow. |
myLocalState |
Object : An Object containing local data about the drag and drop operation. This Object is put into every DragEvent object sent by the system during the current drag. myLocalState是一种轻量级机制,用于将信息从拖动视图发送到目标视图。 例如,它可以包含区分复制操作和移动操作的标志。 |
flags |
int : Flags that control the drag and drop operation. This can be set to 0 for no flags, or any combination of the following:
|
Returns | |
---|---|
boolean |
true if the method completes successfully, or false if it fails anywhere. Returning false means the system was unable to do a drag, and so no drag operation is in progress. |
boolean startNestedScroll (int axes)
沿给定轴开始可嵌套滚动操作。
开始嵌套滚动的视图承诺遵守以下合同:
该视图将在启动滚动操作时调用startNestedScroll。 在触摸滚动的情况下,这对应于最初的ACTION_DOWN
。 在触摸滚动的情况下,嵌套滚动将以与requestDisallowInterceptTouchEvent(boolean)
相同的方式自动终止。 在编程滚动的情况下,调用者必须显式调用stopNestedScroll()
来指示嵌套滚动的结束。
如果startNestedScroll
返回true,则找到合作父项。 如果返回false,则在下一次滚动之前,调用方可能会忽略此合约的其余部分。 当嵌套滚动正在进行时调用startNestedScroll将返回true。
在滚动的每个增量步骤中,一旦计算出所请求的滚动增量,调用者就应该调用dispatchNestedPreScroll
。 如果它返回true,则嵌套滚动父级至少部分消耗滚动,并且调用者应该调整它滚动的数量。
在应用滚动增量的剩余部分之后,调用者应调用dispatchNestedScroll
,同时传递消耗的delta和未消耗的delta。 嵌套的滚动父级可能会以不同的方式处理这些值。 见onNestedScroll(View, int, int, int, int)
。
Parameters | |
---|---|
axes |
int : Flags consisting of a combination of SCROLL_AXIS_HORIZONTAL and/or SCROLL_AXIS_VERTICAL . |
Returns | |
---|---|
boolean |
true if a cooperative parent was found and nested scrolling has been enabled for the current gesture. |
void stopNestedScroll ()
停止正在进行的嵌套滚动。
当嵌套滚动当前不在进行中时调用此方法是无害的。
也可以看看:
String toString ()
返回对象的字符串表示形式。 通常, toString
方法返回一个字符串,用于“文本地表示”该对象。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
void unscheduleDrawable (Drawable who, Runnable what)
取消可绘制的预定动作。
Parameters | |
---|---|
who |
Drawable : the recipient of the action |
what |
Runnable : the action to cancel |
void unscheduleDrawable (Drawable who)
取消调度与给定Drawable关联的任何事件。 当在视图中选择一个新的Drawable时可以使用它,以便前一个完全不计划。
Parameters | |
---|---|
who |
Drawable : The Drawable to unschedule. |
也可以看看:
void updateDragShadow (View.DragShadowBuilder shadowBuilder)
更新正在进行的拖放操作的拖影。
Parameters | |
---|---|
shadowBuilder |
View.DragShadowBuilder : A View.DragShadowBuilder object for building the new drag shadow. |
boolean willNotCacheDrawing ()
返回此视图是否可以缓存其绘图。
Returns | |
---|---|
boolean |
true if this view does not cache its drawing, false otherwise |
boolean willNotDraw ()
返回此视图是否自行绘制。
Returns | |
---|---|
boolean |
true if this view has nothing to draw, false otherwise |
boolean awakenScrollBars (int startDelay, boolean invalidate)
触发滚动条绘制。 调用此方法时,将启动一个动画,以在固定延迟后淡出滚动条。 如果子类提供动画滚动,则启动延迟应等于滚动动画的持续时间。
只有至少有一个滚动条被启用时,动画才会启动,如isHorizontalScrollBarEnabled()
和isVerticalScrollBarEnabled()
所指定。 当动画开始时,此方法返回true,否则返回false。 如果动画开始,如果invalidate参数设置为true,则此方法调用invalidate()
; 在这种情况下,主叫方不应该致电invalidate()
。
每次子类直接更新滚动参数时都应调用此方法。
Parameters | |
---|---|
startDelay |
int : the delay, in milliseconds, after which the animation should start; when the delay is 0, the animation starts immediately |
invalidate |
boolean : Whether this method should call invalidate |
Returns | |
---|---|
boolean |
true if the animation is played, false otherwise |
boolean awakenScrollBars (int startDelay)
触发滚动条绘制。 调用此方法时,将启动一个动画,以在固定延迟后淡出滚动条。 如果子类提供动画滚动,则启动延迟应等于滚动动画的持续时间。
只有至少有一个滚动条被启用时,动画才会启动,如isHorizontalScrollBarEnabled()
和isVerticalScrollBarEnabled()
所指定。 当动画开始时,此方法返回true,否则返回false。 如果动画开始,则此方法调用invalidate()
; 在这种情况下,主叫方不应该致电invalidate()
。
每次子类直接更新滚动参数时都应调用此方法。
Parameters | |
---|---|
startDelay |
int : the delay, in milliseconds, after which the animation should start; when the delay is 0, the animation starts immediately |
Returns | |
---|---|
boolean |
true if the animation is played, false otherwise |
boolean awakenScrollBars ()
触发滚动条绘制。 当调用此方法时,将启动一个动画,以在默认延迟之后淡出滚动条。 如果子类提供动画滚动,则启动延迟应等于滚动动画的持续时间。
仅当至少有一个滚动条被启用时,动画才会启动,如isHorizontalScrollBarEnabled()
和isVerticalScrollBarEnabled()
所指定。 当动画开始时,此方法返回true,否则返回false。 如果动画开始,则此方法调用invalidate()
; 在这种情况下,主叫方不应该致电invalidate()
。
每次子类直接更新滚动参数时都应调用此方法。
该方法由 scrollBy(int, int)
和 scrollTo(int, int)
自动调用。
Returns | |
---|---|
boolean |
true if the animation is played, false otherwise |
int computeHorizontalScrollExtent ()
计算水平滚动条拇指在水平范围内的水平范围。 该值用于计算滚动条轨道内的拇指长度。
范围以任意单位表示,必须与 computeHorizontalScrollRange()
和 computeHorizontalScrollOffset()
使用的单位相同。
默认范围是此视图的图纸宽度。
Returns | |
---|---|
int |
the horizontal extent of the scrollbar's thumb |
也可以看看:
computeHorizontalScrollRange()
computeHorizontalScrollOffset()
int computeHorizontalScrollOffset ()
计算水平滚动条拇指在水平范围内的水平偏移量。 该值用于计算滚动条轨道内的拇指位置。
范围以任意单位表示,必须与 computeHorizontalScrollRange()
和 computeHorizontalScrollExtent()
使用的单位相同。
默认偏移量是该视图的滚动偏移量。
Returns | |
---|---|
int |
the horizontal offset of the scrollbar's thumb |
也可以看看:
computeHorizontalScrollRange()
computeHorizontalScrollExtent()
int computeHorizontalScrollRange ()
计算水平滚动条代表的水平范围。
范围以任意单位表示,必须与 computeHorizontalScrollExtent()
和 computeHorizontalScrollOffset()
使用的单位相同。
默认范围是此视图的图纸宽度。
Returns | |
---|---|
int |
the total horizontal range represented by the horizontal scrollbar |
也可以看看:
computeHorizontalScrollExtent()
computeHorizontalScrollOffset()
int computeVerticalScrollExtent ()
计算垂直滚动条拇指在垂直范围内的垂直范围。 该值用于计算滚动条轨道内的拇指长度。
范围以任意单位表示,必须与 computeVerticalScrollRange()
和 computeVerticalScrollOffset()
使用的单位相同。
默认范围是此视图的绘图高度。
Returns | |
---|---|
int |
the vertical extent of the scrollbar's thumb |
也可以看看:
computeVerticalScrollRange()
computeVerticalScrollOffset()
int computeVerticalScrollOffset ()
计算垂直滚动条拇指在水平范围内的垂直偏移量。 该值用于计算滚动条轨道内的拇指位置。
范围以任意单位表示,必须与 computeVerticalScrollRange()
和 computeVerticalScrollExtent()
使用的单位相同。
默认偏移量是该视图的滚动偏移量。
Returns | |
---|---|
int |
the vertical offset of the scrollbar's thumb |
也可以看看:
computeVerticalScrollRange()
computeVerticalScrollExtent()
int computeVerticalScrollRange ()
计算垂直滚动条代表的垂直范围。
范围以任意单位表示,必须与 computeVerticalScrollExtent()
和 computeVerticalScrollOffset()
使用的单位相同。
Returns | |
---|---|
int |
the total vertical range represented by the vertical scrollbar 默认范围是此视图的绘图高度。 |
也可以看看:
computeVerticalScrollExtent()
computeVerticalScrollOffset()
void dispatchDraw (Canvas canvas)
通过绘制来绘制子视图。 这可能会被派生类重写,以便在子对象被绘制之前获得控制权(但在绘制自己的视图之后)。
Parameters | |
---|---|
canvas |
Canvas : the canvas on which to draw the view |
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 dispatchGenericPointerEvent (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 dispatchHoverEvent (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. |
void dispatchRestoreInstanceState (SparseArray<Parcelable> container)
由restoreHierarchyState(android.util.SparseArray)
调用以检索此视图及其子项的状态。 可能会被覆盖以修改对视图的子项进行恢复的方式; 例如,一些视图可能不想为他们的孩子存储状态。
Parameters | |
---|---|
container |
SparseArray : The SparseArray which holds previously saved state. |
void dispatchSaveInstanceState (SparseArray<Parcelable> container)
由saveHierarchyState(android.util.SparseArray)
调用以存储该视图及其子项的状态。 可能会被忽略,以修改视图的孩子发生冻结的情况; 例如,一些视图可能不想为他们的孩子存储状态。
Parameters | |
---|---|
container |
SparseArray : The SparseArray in which to save the view's state. |
void dispatchSetActivated (boolean activated)
派发setActivated给所有这个View的孩子。
Parameters | |
---|---|
activated |
boolean : The new activated state |
也可以看看:
void dispatchSetPressed (boolean pressed)
派发setPressed给所有这个View的孩子。
Parameters | |
---|---|
pressed |
boolean : The new pressed state |
也可以看看:
void dispatchSetSelected (boolean selected)
调度setSelected选择到所有这个View的孩子。
Parameters | |
---|---|
selected |
boolean : The new selected state |
也可以看看:
void dispatchVisibilityChanged (View changedView, int visibility)
向视图层次结构分派视图可见性更改。 ViewGroups应该覆盖路由到他们的孩子。
Parameters | |
---|---|
changedView |
View : The view whose visibility changed. Could be 'this' or an ancestor view. |
visibility |
int : The new visibility of changedView: VISIBLE , INVISIBLE or GONE . |
void drawableStateChanged ()
只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。
如果View有一个StateListAnimator,它也将被调用来运行必要的状态改变动画。
重写此功能时,一定要调用超类。
也可以看看:
boolean fitSystemWindows (Rect insets)
此方法在API级别20中已被弃用。
从API 20开始,使用dispatchApplyWindowInsets(WindowInsets)
将insets应用于视图。 视图应该覆盖onApplyWindowInsets(WindowInsets)
或使用setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener)
来实现处理自己的setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener)
。
当窗口的内容插入改变时,由视图层次调用,以允许其调整其内容以适应这些窗口。 内容插件会告诉您状态栏,输入法和其他系统窗口侵犯应用程序窗口的空间。
你通常不需要处理这个函数,因为给应用程序的默认窗口装饰会将它应用到窗口的内容。 如果您使用的是SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
或SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
则情况并非如此,您的内容可以置于这些系统元素之下。 然后,如果您有一些您希望确保未覆盖的用户界面部分,则可以在视图层次结构中使用此方法。
此方法的默认实现只是将内容插入应用于视图的填充,将该内容消耗(修改插入为0),并返回true。 这种行为默认是关闭的,但可以通过setFitsSystemWindows(boolean)
启用。
该函数遍历层次结构是深度优先的。 相同的内容insets对象沿着层次结构向下传播,因此对其所做的任何更改都将被所有后续视图(包括潜在的层次结构中的上面的视图,因为这是深度优先遍历)看到。 返回true的第一个视图会中止整个遍历。
默认的实现适用于与覆盖整个窗口的容器一起使用的情况,从而允许它在所有边上对其内容应用适当的插入。 如果您需要更复杂的布局(例如两个不同的视图适合系统窗口,一个放在窗口的顶部,另一个放在窗口的顶部),您可以重写该方法并根据需要处理插入。 请注意,框架提供的插图始终相对于窗口的较远边缘,而不是说明该窗口内被调用视图的位置。 (事实上,当这个方法被调用时,你还不知道布局将放置视图的位置,因为它在布局发生之前完成。)
注意:与许多View方法不同,此调用不存在调度阶段。 如果您在ViewGroup中覆盖它并希望允许该调用继续给您的孩子,则必须确保调用超级实现。
这是一个样例布局,它使用适合的系统窗口来控制视频视图,并放置在它隐藏和显示的窗口装饰内。 这可以与代码setSystemUiVisibility(int)
显示的第二个示例(视频播放器) setSystemUiVisibility(int)
。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <view class="com.example.android.apis.view.VideoPlayerActivity$Content" android:id="@+id/content" android:src="@drawable/frantic" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="center" /> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:animateLayoutChanges="true" > <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top|center_horizontal" android:textColor="#ffffffff" android:background="#a0000000" android:textAppearance="?android:attr/textAppearanceLarge" android:gravity="left" android:padding="16dp" android:text="A title goes here" /> <Button android:id="@+id/play" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:textSize="28dp" /> <SeekBar android:id="@+id/seekbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom|center_horizontal" android:layout_marginBottom="16dp" /> </FrameLayout> </FrameLayout>
Parameters | |
---|---|
insets |
Rect : Current content insets of the window. Prior to JELLY_BEAN you must not modify the insets or else you and Android will be unhappy. |
Returns | |
---|---|
boolean |
true if this view applied the insets and it should not continue propagating further down the hierarchy, false otherwise. |
float getBottomFadingEdgeStrength ()
返回底部渐变边的强度或强度。 强度是介于0.0(无褪色)和1.0(全褪色)之间的值。 默认实现返回0.0或1.0,但两者之间没有值。 滚动发生时,子类应该重写此方法以提供更平滑的淡入淡出转换。
Returns | |
---|---|
float |
the intensity of the bottom fade as a float between 0.0f and 1.0f |
int getBottomPaddingOffset ()
扩展底部衰落区域的数量。 仅当isPaddingOffsetRequired()
返回true时才被调用。
Returns | |
---|---|
int |
The bottom padding offset in pixels. |
也可以看看:
ContextMenu.ContextMenuInfo getContextMenuInfo ()
视图应该实现这个,如果他们有额外的信息与上下文菜单相关联。 返回结果作为参数提供给onCreateContextMenu(ContextMenu, View, ContextMenuInfo)
回调。
Returns | |
---|---|
ContextMenu.ContextMenuInfo |
Extra information about the item for which the context menu should be shown. This information will vary across different subclasses of View. |
int getHorizontalScrollbarHeight ()
返回水平滚动条的高度。
Returns | |
---|---|
int |
The height in pixels of the horizontal scrollbar or 0 if there is no horizontal scrollbar. |
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 |
int getLeftPaddingOffset ()
扩展左衰落区域的量。 仅当isPaddingOffsetRequired()
返回true时才被调用。
Returns | |
---|---|
int |
The left padding offset in pixels. |
也可以看看:
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 |
int getRightPaddingOffset ()
扩展正确衰落区域的数量。 仅当isPaddingOffsetRequired()
返回true时才被调用。
Returns | |
---|---|
int |
The right padding offset in pixels. |
也可以看看:
int getSuggestedMinimumHeight ()
返回视图应该使用的建议最小高度。 这将返回视图的最小高度和背景的最小高度( getMinimumHeight()
)的最大值。
当在 onMeasure(int, int)
中使用时,呼叫者仍应确保返回的高度在父母的要求范围内。
Returns | |
---|---|
int |
The suggested minimum height of the view. |
int getSuggestedMinimumWidth ()
返回视图应该使用的建议最小宽度。 这将返回视图的最小宽度和背景的最小宽度( getMinimumWidth()
)的最大值。
在 onMeasure(int, int)
中使用时,调用者仍应确保返回的宽度符合父级的要求。
Returns | |
---|---|
int |
The suggested minimum width of the view. |
float getTopFadingEdgeStrength ()
返回顶部褪色边缘的强度或强度。 强度是介于0.0(无褪色)和1.0(全褪色)之间的值。 默认实现返回0.0或1.0,但两者之间没有值。 滚动发生时,子类应该重写此方法以提供更平滑的淡入淡出转换。
Returns | |
---|---|
float |
the intensity of the top fade as a float between 0.0f and 1.0f |
int getTopPaddingOffset ()
扩大最大衰落区域的数量。 仅当isPaddingOffsetRequired()
返回true时才被调用。
Returns | |
---|---|
int |
The top padding offset in pixels. |
也可以看看:
int getWindowAttachCount ()
Returns | |
---|---|
int |
The number of times this view has been attached to a window |
boolean isPaddingOffsetRequired ()
如果视图在其填充内绘制内容并启用淡化边缘,则需要支持填充偏移。 将填充偏移添加到淡出边缘以延长淡入淡出的长度,以便覆盖填充内部绘制的像素。 如果需要在填充内绘制内容,则此类的子类应该重写此方法。
Returns | |
---|---|
boolean |
True if padding offset must be applied, false otherwise. |
int[] mergeDrawableStates (int[] baseState, int[] additionalState)
将 additionalState中的自己的状态值合并到由 onCreateDrawableState(int)
返回的基本状态值 baseState中。
Parameters | |
---|---|
baseState |
int : The base state values returned by onCreateDrawableState(int) , which will be modified to also hold your own additional state values. |
additionalState |
int : The additional state values you would like added to baseState; this array is not modified. |
Returns | |
---|---|
int[] |
As a convenience, the baseState array you originally passed into the function is returned. |
也可以看看:
void onAnimationEnd ()
由父ViewGroup调用,以通知当前与此视图关联的动画结束。 如果您重写此方法,则始终调用super.onAnimationEnd();
void onAnimationStart ()
由父ViewGroup调用以通知当前与此视图关联的动画的开始。 如果您重写此方法,则始终调用super.onAnimationStart();
void onAttachedToWindow ()
这在视图附加到窗口时被调用。 此时它有一个Surface并将开始绘制。 请注意,此函数保证在onDraw(android.graphics.Canvas)
之前onDraw(android.graphics.Canvas)
,但可能会在第一次onDraw之前的任何时候调用 - 包括onMeasure(int, int)
之前或之后。
也可以看看:
void onConfigurationChanged (Configuration newConfig)
当应用程序使用的资源的当前配置发生更改时调用。 您可以使用它来决定何时重新加载可根据方向和其他配置特性更改的资源。 你只需要使用这个,如果你不依靠正常Activity
机制在配置更改重新创建活动实例。
Parameters | |
---|---|
newConfig |
Configuration : The new resource configuration. |
void onCreateContextMenu (ContextMenu menu)
如果视图本身要将项目添加到上下文菜单,则视图应该执行此操作。
Parameters | |
---|---|
menu |
ContextMenu : the context menu to populate |
int[] onCreateDrawableState (int extraSpace)
为此视图生成新的Drawable
状态。 当缓存的Drawable状态被确定为无效时,这由视图系统调用。 要检索当前状态,您应该使用getDrawableState()
。
Parameters | |
---|---|
extraSpace |
int : if non-zero, this is the number of extra entries you would like in the returned array in which you can place your own states. |
Returns | |
---|---|
int[] |
Returns an array holding the current Drawable state of the view. |
void onDetachedFromWindow ()
这是在视图从窗口分离时调用的。 此时它不再有绘图表面。
也可以看看:
void onDisplayHint (int hint)
给出这个观点暗示是否显示。 例如,当视图移出屏幕时,它可能会收到显示提示,指示视图不显示。 应用程序不应该依赖这个提示,因为不能保证他们会收到一个。
Parameters | |
---|---|
hint |
int : A hint about whether or not this view is displayed: VISIBLE or INVISIBLE . |
void onDraw (Canvas canvas)
实施这个来做你的绘画。
Parameters | |
---|---|
canvas |
Canvas : the canvas on which the background will be drawn |
void onDrawScrollBars (Canvas canvas)
请求水平和垂直滚动条的绘制。 滚动条仅在首先被唤醒时才被涂刷。
Parameters | |
---|---|
canvas |
Canvas : the canvas on which to draw the scrollbars |
也可以看看:
void onFinishInflate ()
最终确定从XML扩展视图。 这被称为通货膨胀的最后一个阶段,毕竟所有的孩子的观点已被添加。
即使子类重写onFinishInflate,他们也应该始终确保调用super方法,以便调用。
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. |
void onLayout (boolean changed, int left, int top, int right, int bottom)
当这个视图为每个孩子分配一个大小和位置时,从布局调用。 带孩子的派生类应该覆盖这个方法,并调用他们每个孩子的布局。
Parameters | |
---|---|
changed |
boolean : This is a new size or position for this view |
left |
int : Left position, relative to parent |
top |
int : Top position, relative to parent |
right |
int : Right position, relative to parent |
bottom |
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 |
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 onScrollChanged (int l, int t, int oldl, int oldt)
这是为了响应此视图中的内部滚动而调用的(即视图滚动了其自己的内容)。 这通常是scrollBy(int, int)
或scrollTo(int, int)
被调用的结果。
Parameters | |
---|---|
l |
int : Current horizontal scroll origin. |
t |
int : Current vertical scroll origin. |
oldl |
int : Previous horizontal scroll origin. |
oldt |
int : Previous vertical scroll origin. |
boolean onSetAlpha (int alpha)
如果存在涉及alpha的变换,则调用。 可以使用指定的alpha绘制自己的子类应该返回true,然后在调用onDraw()时尊重该alpha。 如果这返回false,那么视图可能会被重定向到一个离屏缓冲区来完成请求,这看起来很好,但是可能比子类在内部处理它要慢。 默认实现返回false。
Parameters | |
---|---|
alpha |
int : The alpha (0..255) to apply to the view's drawing |
Returns | |
---|---|
boolean |
true if the view can draw with the specified alpha. |
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. |
void onVisibilityChanged (View changedView, int visibility)
当视图的可见性或视图的祖先已更改时调用。
Parameters | |
---|---|
changedView |
View : The view whose visibility changed. May be this or an ancestor view. |
visibility |
int : The new visibility, one of VISIBLE , INVISIBLE or GONE . |
void onWindowVisibilityChanged (int visibility)
叫当包含窗口具有改变其可见性(间GONE
, INVISIBLE
,和VISIBLE
)。 请注意,这会告诉您窗口管理器是否使您的窗口可见; 这并不能告诉你你的窗口是否被屏幕上的其他窗口遮挡,即使它本身是可见的。
Parameters | |
---|---|
visibility |
int : The new visibility of the window. |
boolean overScrollBy (int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
使用标准行为滚动视图以滚动到正常内容边界之外。 调用此方法的视图应覆盖onOverScrolled(int, int, boolean, boolean)
以响应滚动操作的结果。 视图可以使用这种方法来处理任何触摸或基于文件的滚动。
Parameters | |
---|---|
deltaX |
int : Change in X in pixels |
deltaY |
int : Change in Y in pixels |
scrollX |
int : Current X scroll value in pixels before applying deltaX |
scrollY |
int : Current Y scroll value in pixels before applying deltaY |
scrollRangeX |
int : Maximum content scroll range along the X axis |
scrollRangeY |
int : Maximum content scroll range along the Y axis |
maxOverScrollX |
int : Number of pixels to overscroll by in either direction along the X axis. |
maxOverScrollY |
int : Number of pixels to overscroll by in either direction along the Y axis. |
isTouchEvent |
boolean : true if this scroll operation is the result of a touch event. |
Returns | |
---|---|
boolean |
true if scrolling was clamped to an over-scroll boundary along either axis, false otherwise. |
void setMeasuredDimension (int measuredWidth, int measuredHeight)
该方法必须由onMeasure(int, int)
以存储测量的宽度和测量的高度。 如果不这样做,会在测量时引发异常。
Parameters | |
---|---|
measuredWidth |
int : The measured width of this view. May be a complex bit mask as defined by MEASURED_SIZE_MASK and MEASURED_STATE_TOO_SMALL . |
measuredHeight |
int : The measured height of this view. May be a complex bit mask as defined by MEASURED_SIZE_MASK and MEASURED_STATE_TOO_SMALL . |
boolean verifyDrawable (Drawable who)
如果你的视图子类正在显示它自己的Drawable对象,它应该覆盖这个函数,并且对于它显示的任何Drawable返回true。 这样可以安排这些可绘制的动画。
重写此功能时,一定要调用超类。
Parameters | |
---|---|
who |
Drawable : The Drawable to verify. Return true if it is one you are displaying, else return the result of calling through to the super class. |
Returns | |
---|---|
boolean |
boolean If true than the Drawable is being displayed in the view; else false and it is not allowed to animate. |