View
public
class
View
extends Object
implements
Drawable.Callback,
KeyEvent.Callback,
AccessibilityEventSource
java.lang.Object | |
↳ | android.view.View |
This class represents the basic building block for user interface components. A View
occupies a rectangular area on the screen and is responsible for drawing and
event handling. View is the base class for widgets, which are
used to create interactive UI components (buttons, text fields, etc.). The
ViewGroup
subclass is the base class for layouts, which
are invisible containers that hold other Views (or other ViewGroups) and define
their layout properties.
Developer Guides
For information about using this class to develop your application's user interface, read the User Interface developer guide.
Using Views
All of the views in a window are arranged in a single tree. You can add views either from code or by specifying a tree of views in one or more XML layout files. There are many specialized subclasses of views that act as controls or are capable of displaying text, images, or other content.
Once you have created a tree of views, there are typically a few types of common operations you may wish to perform:
- Set properties: for example setting the text of a
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. - Set focus: The framework will handle moving focus in
response to user input. To force focus to a specific view, call
requestFocus()
. - Set up listeners: Views allow clients to set listeners
that will be notified when something interesting happens to the view. For
example, all views will let you set a listener to be notified when the view
gains or loses focus. You can register such a listener using
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. - Set visibility: You can hide or show views using
setVisibility(int)
.
Note: The Android framework is responsible for measuring, laying out and
drawing views. You should not call methods that perform these actions on
views yourself unless you are actually implementing a
ViewGroup
.
Implementing a Custom View
To implement a custom view, you will usually begin by providing overrides for
some of the standard methods that the framework calls on all views. You do
not need to override all of these methods. In fact, you can start by just
overriding onDraw(android.graphics.Canvas)
.
Category | Methods | Description |
---|---|---|
Creation | Constructors | 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. | |
|
Called when a generic motion event occurs. | |
|
Called when a hover 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. |
IDs
Views may have an integer id associated with them. These ids are typically assigned in the layout XML files, and are used to find specific views within the view tree. A common pattern is to:- Define a Button in the layout file and assign it a unique ID.
<Button android:id="@+id/my_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/my_button_text"/>
- From the onCreate method of an Activity, find the Button
Button myButton = findViewById(R.id.my_button);
View IDs need not be unique throughout the tree, but it is good practice to ensure that they are at least unique within the part of the tree you are searching.
Position
The geometry of a view is that of a rectangle. A view has a location, expressed as a pair of left and top coordinates, and two dimensions, expressed as a width and a height. The unit for location and dimensions is the pixel.
It is possible to retrieve the location of a view by invoking the methods
getLeft()
and getTop()
. The former returns the left, or X,
coordinate of the rectangle representing the view. The latter returns the
top, or Y, coordinate of the rectangle representing the view. These methods
both return the location of the view relative to its parent. For instance,
when getLeft() returns 20, that means the view is located 20 pixels to the
right of the left edge of its direct parent.
In addition, several convenience methods are offered to avoid unnecessary
computations, namely getRight()
and getBottom()
.
These methods return the coordinates of the right and bottom edges of the
rectangle representing the view. For instance, calling getRight()
is similar to the following computation: getLeft() + getWidth()
(see Size for more information about the width.)
Size, padding and margins
The size of a view is expressed with a width and a height. A view actually possess two pairs of width and height values.
The first pair is known as measured width and
measured height. These dimensions define how big a view wants to be
within its parent (see Layout for more details.) The
measured dimensions can be obtained by calling getMeasuredWidth()
and getMeasuredHeight()
.
The second pair is simply known as width and height, or
sometimes drawing width and drawing height. These
dimensions define the actual size of the view on screen, at drawing time and
after layout. These values may, but do not have to, be different from the
measured width and height. The width and height can be obtained by calling
getWidth()
and getHeight()
.
To measure its dimensions, a view takes into account its padding. The padding
is expressed in pixels for the left, top, right and bottom parts of the view.
Padding can be used to offset the content of the view by a specific amount of
pixels. For instance, a left padding of 2 will push the view's content by
2 pixels to the right of the left edge. Padding can be set using the
setPadding(int, int, int, int)
or setPaddingRelative(int, int, int, int)
method and queried by calling getPaddingLeft()
, getPaddingTop()
,
getPaddingRight()
, getPaddingBottom()
, getPaddingStart()
,
getPaddingEnd()
.
Even though a view can define a padding, it does not provide any support for
margins. However, view groups provide such a support. Refer to
ViewGroup
and
ViewGroup.MarginLayoutParams
for further information.
Layout
Layout is a two pass process: a measure pass and a layout pass. The measuring
pass is implemented in measure(int, int)
and is a top-down traversal
of the view tree. Each view pushes dimension specifications down the tree
during the recursion. At the end of the measure pass, every view has stored
its measurements. The second pass happens in
layout(int, int, int, int)
and is also top-down. During
this pass each parent is responsible for positioning all of its children
using the sizes computed in the measure pass.
When a view's measure() method returns, its getMeasuredWidth()
and
getMeasuredHeight()
values must be set, along with those for all of
that view's descendants. A view's measured width and measured height values
must respect the constraints imposed by the view's parents. This guarantees
that at the end of the measure pass, all parents accept all of their
children's measurements. A parent view may call measure() more than once on
its children. For example, the parent may measure each child once with
unspecified dimensions to find out how big they want to be, then call
measure() on them again with actual numbers if the sum of all the children's
unconstrained sizes is too big or too small.
The measure pass uses two classes to communicate dimensions. The
MeasureSpec
class is used by views to tell their parents how they
want to be measured and positioned. The base LayoutParams class just
describes how big the view wants to be for both width and height. For each
dimension, it can specify one of:
- an exact number
- MATCH_PARENT, which means the view wants to be as big as its parent (minus padding)
- WRAP_CONTENT, which means that the view wants to be just big enough to enclose its content (plus padding).
MeasureSpecs are used to push requirements down the tree from parent to child. A MeasureSpec can be in one of three modes:
- UNSPECIFIED: This is used by a parent to determine the desired dimension of a child view. For example, a LinearLayout may call measure() on its child with the height set to UNSPECIFIED and a width of EXACTLY 240 to find out how tall the child view wants to be given a width of 240 pixels.
- EXACTLY: This is used by the parent to impose an exact size on the child. The child must use this size, and guarantee that all of its descendants will fit within this size.
- AT_MOST: This is used by the parent to impose a maximum size on the child. The child must guarantee that it and all of its descendants will fit within this size.
To initiate a layout, call requestLayout()
. This method is typically
called by a view on itself when it believes that it can no longer fit within
its current bounds.
Drawing
Drawing is handled by walking the tree and recording the drawing commands of any View that needs to update. After this, the drawing commands of the entire tree are issued to screen, clipped to the newly damaged area.
The tree is largely recorded and drawn in order, with parents drawn before
(i.e., behind) their children, with siblings drawn in the order they appear
in the tree. If you set a background drawable for a View, then the View will
draw it before calling back to its onDraw()
method. The child
drawing order can be overridden with
custom child drawing order
in a ViewGroup, and with setZ(float)
custom Z values} set on Views.
To force a view to draw, call invalidate()
.
Event Handling and Threading
The basic cycle of a view is as follows:
- An event comes in and is dispatched to the appropriate view. The view handles the event and notifies any listeners.
- If in the course of processing the event, the view's bounds may need
to be changed, the view will call
requestLayout()
. - Similarly, if in the course of processing the event the view's appearance
may need to be changed, the view will call
invalidate()
. - If either
requestLayout()
orinvalidate()
were called, the framework will take care of measuring, laying out, and drawing the tree as appropriate.
Note: The entire view tree is single threaded. You must always be on
the UI thread when calling any method on any view.
If you are doing work on other threads and want to update the state of a view
from that thread, you should use a Handler
.
Focus Handling
The framework will handle routine focus movement in response to user input.
This includes changing the focus as views are removed or hidden, or as new
views become available. Views indicate their willingness to take focus
through the isFocusable()
method. To change whether a view can take
focus, call setFocusable(boolean)
. When in touch mode (see notes below)
views indicate whether they still would like focus via isFocusableInTouchMode()
and can change this via setFocusableInTouchMode(boolean)
.
Focus movement is based on an algorithm which finds the nearest neighbor in a given direction. In rare cases, the default algorithm may not match the intended behavior of the developer. In these situations, you can provide explicit overrides by using these XML attributes in the layout file:
nextFocusDown nextFocusLeft nextFocusRight nextFocusUp
To get a particular view to take focus, call requestFocus()
.
Touch Mode
When a user is navigating a user interface via directional keys such as a D-pad, it is necessary to give focus to actionable items such as buttons so the user can see what will take input. If the device has touch capabilities, however, and the user begins interacting with the interface by touching it, it is no longer necessary to always highlight, or give focus to, a particular view. This motivates a mode for interaction named 'touch mode'.
For a touch capable device, once the user touches the screen, the device
will enter touch mode. From this point onward, only views for which
isFocusableInTouchMode()
is true will be focusable, such as text editing widgets.
Other views that are touchable, like buttons, will not take focus when touched; they will
only fire the on click listeners.
Any time a user hits a directional key, such as a D-pad direction, the view device will exit touch mode, and find a view to take focus, so that the user may resume interacting with the user interface without touching the screen again.
The touch mode state is maintained across Activity
s. Call
isInTouchMode()
to see whether the device is currently in touch mode.
Scrolling
The framework provides basic support for views that wish to internally
scroll their content. This includes keeping track of the X and Y scroll
offset as well as mechanisms for drawing scrollbars. See
scrollBy(int, int)
, scrollTo(int, int)
, and
awakenScrollBars()
for more details.
Tags
Unlike IDs, tags are not used to identify views. Tags are essentially an extra piece of information that can be associated with a view. They are most often used as a convenience to store data related to views in the views themselves rather than by putting them in a separate structure.
Tags may be specified with character sequence values in layout XML as either
a single tag using the android:tag
attribute or multiple tags using the <tag>
child element:
<View ... android:tag="@string/mytag_value" /> <View ...> <tag android:id="@+id/mytag" android:value="@string/mytag_value" /> </View>
Tags may also be specified with arbitrary objects from code using
setTag(java.lang.Object)
or setTag(int, java.lang.Object)
.
Themes
By default, Views are created using the theme of the Context object supplied
to their constructor; however, a different theme may be specified by using
the android:theme
attribute in layout
XML or by passing a ContextThemeWrapper
to the constructor from
code.
When the android:theme
attribute is
used in XML, the specified theme is applied on top of the inflation
context's theme (see LayoutInflater
) and used for the view itself as
well as any child elements.
In the following example, both views will be created using the Material dark
color scheme; however, because an overlay theme is used which only defines a
subset of attributes, the value of
android:colorAccent
defined on
the inflation context's theme (e.g. the Activity theme) will be preserved.
<LinearLayout ... android:theme="@android:theme/ThemeOverlay.Material.Dark"> <View ...> </LinearLayout>
Properties
The View class exposes an ALPHA
property, as well as several transform-related
properties, such as TRANSLATION_X
and TRANSLATION_Y
. These properties are
available both in the Property
form as well as in similarly-named setter/getter
methods (such as setAlpha(float)
for ALPHA
). These properties can
be used to set persistent state associated with these rendering-related properties on the view.
The properties and methods can also be used in conjunction with
Animator
-based animations, described more in the
Animation section.
Animation
Starting with Android 3.0, the preferred way of animating views is to use the
android.animation
package APIs. These Animator
-based
classes change actual properties of the View object, such as alpha
and
translationX
. This behavior is contrasted to that of the pre-3.0
Animation
-based classes, which instead animate only
how the view is drawn on the display. In particular, the ViewPropertyAnimator
class
makes animating these View properties particularly easy and efficient.
Alternatively, you can use the pre-3.0 animation classes to animate how Views are rendered.
You can attach an Animation
object to a view using
setAnimation(android.view.animation.Animation)
or
startAnimation(android.view.animation.Animation)
. The animation can alter the scale,
rotation, translation and alpha of a view over time. If the animation is
attached to a view that has children, the animation will affect the entire
subtree rooted by that node. When an animation is started, the framework will
take care of redrawing the appropriate views until the animation completes.
Security
Sometimes it is essential that an application be able to verify that an action is being performed with the full knowledge and consent of the user, such as granting a permission request, making a purchase or clicking on an advertisement. Unfortunately, a malicious application could try to spoof the user into performing these actions, unaware, by concealing the intended purpose of the view. As a remedy, the framework offers a touch filtering mechanism that can be used to improve the security of views that provide access to sensitive functionality.
To enable touch filtering, call setFilterTouchesWhenObscured(boolean)
or set the
android:filterTouchesWhenObscured layout attribute to true. When enabled, the framework
will discard touches that are received whenever the view's window is obscured by
another visible window at the touched location. As a result, the view will not receive touches
whenever the touch passed through a toast, dialog or other window that appears above the view's
window.
For more fine-grained control over security, consider overriding the
onFilterTouchEventForSecurity(android.view.MotionEvent)
method to implement your own
security policy. See also MotionEvent#FLAG_WINDOW_IS_OBSCURED
.
See also:
Summary
Nested classes | ||
---|---|---|
class |
View.AccessibilityDelegate
This class represents a delegate that can be registered in a |
|
class |
View.BaseSavedState
Base class for derived classes that want to save and restore their own
state in |
|
class |
View.DragShadowBuilder
Creates an image that the system displays during the drag and drop operation. |
|
class |
View.MeasureSpec
A MeasureSpec encapsulates the layout requirements passed from parent to child. |
|
interface |
View.OnApplyWindowInsetsListener
Listener for applying window insets on a view in a custom way. |
|
interface |
View.OnAttachStateChangeListener
Interface definition for a callback to be invoked when this view is attached or detached from its window. |
|
interface |
View.OnCapturedPointerListener
Interface definition for a callback to be invoked when a captured pointer event is being dispatched this view. |
|
interface |
View.OnClickListener
Interface definition for a callback to be invoked when a view is clicked. |
|
interface |
View.OnContextClickListener
Interface definition for a callback to be invoked when a view is context clicked. |
|
interface |
View.OnCreateContextMenuListener
Interface definition for a callback to be invoked when the context menu for this view is being built. |
|
interface |
View.OnDragListener
Interface definition for a listener that's invoked when a drag event is dispatched to this view. |
|
interface |
View.OnFocusChangeListener
Interface definition for a callback to be invoked when the focus state of a view changed. |
|
interface |
View.OnGenericMotionListener
Interface definition for a callback to be invoked when a generic motion event is dispatched to this view. |
|
interface |
View.OnHoverListener
Interface definition for a callback to be invoked when a hover event is dispatched to this view. |
|
interface |
View.OnKeyListener
Interface definition for a callback to be invoked when a hardware key event is dispatched to this view. |
|
interface |
View.OnLayoutChangeListener
Interface definition for a callback to be invoked when the layout bounds of a view changes due to layout processing. |
|
interface |
View.OnLongClickListener
Interface definition for a callback to be invoked when a view has been clicked and held. |
|
interface |
View.OnScrollChangeListener
Interface definition for a callback to be invoked when the scroll X or Y positions of a view change. |
|
interface |
View.OnSystemUiVisibilityChangeListener
This interface was deprecated
in API level 30.
Use |
|
interface |
View.OnTouchListener
Interface definition for a callback to be invoked when a touch event is dispatched to this view. |
|
interface |
View.OnUnhandledKeyEventListener
Interface definition for a callback to be invoked when a hardware key event hasn't been handled by the view hierarchy. |
XML attributes | ||
---|---|---|
android:accessibilityHeading |
Whether or not this view is a heading for accessibility purposes. | |
android:accessibilityLiveRegion |
Indicates to accessibility services whether the user should be notified when this view changes. | |
android:accessibilityPaneTitle |
The title this view should present to accessibility as a pane title. | |
android:accessibilityTraversalAfter |
Sets the id of a view that screen readers are requested to visit before this view. | |
android:accessibilityTraversalBefore |
Sets the id of a view that screen readers are requested to visit after this view. | |
android:allowClickWhenDisabled |
Whether or not allow clicks on disabled view. | |
android:alpha |
alpha property of the view, as a value between 0 (completely transparent) and 1 (completely opaque). | |
android:autoHandwritingEnabled |
Whether or not the auto handwriting initiation is enabled in this View. |
|
android:autofillHints |
Describes the content of a view so that a autofill service can fill in the appropriate data. | |
android:autofilledHighlight |
Drawable to be drawn over the view to mark it as autofilled
May be a reference to another resource, in the form
" |
|
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:clipToOutline |
Whether the View's Outline should be used to clip the contents of the View. |
|
android:contentDescription |
Defines text that briefly describes content of the view. | |
android:contextClickable |
Defines whether this view reacts to context click events. | |
android:defaultFocusHighlightEnabled |
Whether this View should use a default focus highlight when it gets focused but
doesn't have R.attr.state_focused defined in its background.
|
|
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 |
Controls whether a view can take focus. | |
android:focusableInTouchMode |
Boolean that controls whether a view can take focus while in touch mode. | |
android:focusedByDefault |
Whether this view is a default-focus view. | |
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 |
Describes whether or not this view is important for accessibility. | |
android:importantForAutofill |
Hints the Android System whether the view node associated with this View should be included in a view structure used for autofill purposes. | |
android:importantForContentCapture |
Hints the Android System whether the view node associated with this View should be use for content capture purposes. | |
android:isCredential |
Boolean that hints the Android System that the view is credential and associated with
CredentialManager
May be a boolean value, such as " |
|
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:keyboardNavigationCluster |
Whether this view is a root of a keyboard navigation cluster. | |
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:nextClusterForward |
Defines the next keyboard navigation cluster. | |
android:nextFocusDown |
Defines the next view to give focus to when the next focus is
View.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
View.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
View.FOCUS_LEFT .
|
|
android:nextFocusRight |
Defines the next view to give focus to when the next focus is
View.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
View.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:outlineAmbientShadowColor |
Sets the color of the ambient shadow that is drawn when the view has a positive Z or elevation value. | |
android:outlineSpotShadowColor |
Sets the color of the spot shadow that is drawn when the view has a positive Z or elevation value. | |
android:padding |
Sets the padding, in pixels, of all four edges. | |
android:paddingBottom |
Sets the padding, in pixels, of the bottom edge; see R.attr.padding .
|
|
android:paddingEnd |
Sets the padding, in pixels, of the end edge; see R.attr.padding .
|
|
android:paddingHorizontal |
Sets the padding, in pixels, of the left and right edges; see
R.attr.padding .
|
|
android:paddingLeft |
Sets the padding, in pixels, of the left edge; see R.attr.padding .
|
|
android:paddingRight |
Sets the padding, in pixels, of the right edge; see R.attr.padding .
|
|
android:paddingStart |
Sets the padding, in pixels, of the start edge; see R.attr.padding .
|
|
android:paddingTop |
Sets the padding, in pixels, of the top edge; see R.attr.padding .
|
|
android:paddingVertical |
Sets the padding, in pixels, of the top and bottom edges; see
R.attr.padding .
|
|
android:preferKeepClear |
Sets a preference to keep the bounds of this view clear from floating windows above this view's window. |
|
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:screenReaderFocusable |
Whether this view should be treated as a focusable unit by screen reader accessibility tools. | |
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:tooltipText |
Defines text displayed in a small popup window on hover or long press. | |
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. |
Constants | |
---|---|
int |
ACCESSIBILITY_DATA_SENSITIVE_AUTO
Automatically determine whether the view should only allow interactions from
|
int |
ACCESSIBILITY_DATA_SENSITIVE_NO
Allow interactions from all |
int |
ACCESSIBILITY_DATA_SENSITIVE_YES
Only allow interactions from |
int |
ACCESSIBILITY_LIVE_REGION_ASSERTIVE
Live region mode specifying that accessibility services should immediately notify users of changes to this view. |
int |
ACCESSIBILITY_LIVE_REGION_NONE
Live region mode specifying that accessibility services should not automatically announce changes to this view. |
int |
ACCESSIBILITY_LIVE_REGION_POLITE
Live region mode specifying that accessibility services should notify users of changes to this view. |
int |
AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
Flag requesting you to add views that are marked as not important for autofill
(see |
String |
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE
Hint indicating that this view can be autofilled with a credit card expiration date. |
String |
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY
Hint indicating that this view can be autofilled with a credit card expiration day. |
String |
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH
Hint indicating that this view can be autofilled with a credit card expiration month. |
String |
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
Hint indicating that this view can be autofilled with a credit card expiration year. |
String |
AUTOFILL_HINT_CREDIT_CARD_NUMBER
Hint indicating that this view can be autofilled with a credit card number. |
String |
AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE
Hint indicating that this view can be autofilled with a credit card security code. |
String |
AUTOFILL_HINT_EMAIL_ADDRESS
Hint indicating that this view can be autofilled with an email address. |
String |
AUTOFILL_HINT_NAME
Hint indicating that this view can be autofilled with a user's real name. |
String |
AUTOFILL_HINT_PASSWORD
Hint indicating that this view can be autofilled with a password. |
String |
AUTOFILL_HINT_PHONE
Hint indicating that this view can be autofilled with a phone number. |
String |
AUTOFILL_HINT_POSTAL_ADDRESS
Hint indicating that this view can be autofilled with a postal address. |
String |
AUTOFILL_HINT_POSTAL_CODE
Hint indicating that this view can be autofilled with a postal code. |
String |
AUTOFILL_HINT_USERNAME
Hint indicating that this view can be autofilled with a username. |
int |
AUTOFILL_TYPE_DATE
Autofill type for a field that contains a date, which is represented by a long representing
the number of milliseconds since the standard base time known as "the epoch", namely
January 1, 1970, 00:00:00 GMT (see |
int |
AUTOFILL_TYPE_LIST
Autofill type for a selection list field, which is filled by an |
int |
AUTOFILL_TYPE_NONE
Autofill type for views that cannot be autofilled. |
int |
AUTOFILL_TYPE_TEXT
Autofill type for a text field, which is filled by a |
int |
AUTOFILL_TYPE_TOGGLE
Autofill type for a togglable field, which is filled by a |
int |
CONTENT_SENSITIVITY_AUTO
Content sensitivity is determined by the framework. |
int |
CONTENT_SENSITIVITY_NOT_SENSITIVE
The view doesn't display sensitive content. |
int |
CONTENT_SENSITIVITY_SENSITIVE
The view displays sensitive content. |
int |
DRAG_FLAG_ACCESSIBILITY_ACTION
Flag indicating that the drag was initiated with
|
int |
DRAG_FLAG_GLOBAL
Flag indicating that a drag can cross window boundaries. |
int |
DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION
When this flag is used with |
int |
DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION
When this flag is used with |
int |
DRAG_FLAG_GLOBAL_SAME_APPLICATION
Flag indicating that a drag can cross window boundaries (within the same application). |
int |
DRAG_FLAG_GLOBAL_URI_READ
When this flag is used with |
int |
DRAG_FLAG_GLOBAL_URI_WRITE
When this flag is used with |
int |
DRAG_FLAG_OPAQUE
Flag indicating that the drag shadow will be opaque. |
int |
DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG
Flag indicating that an unhandled drag should be delegated to the system to be started if no visible window wishes to handle the drop. |
int |
DRAWING_CACHE_QUALITY_AUTO
This constant was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
int |
DRAWING_CACHE_QUALITY_HIGH
This constant was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
int |
DRAWING_CACHE_QUALITY_LOW
This constant was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
int |
FIND_VIEWS_WITH_CONTENT_DESCRIPTION
Find find views that contain the specified content description. |
int |
FIND_VIEWS_WITH_TEXT
Find views that render the specified text. |
int |
FOCUSABLE
This view wants keystrokes. |
int |
FOCUSABLES_ALL
View flag indicating whether |
int |
FOCUSABLES_TOUCH_MODE
View flag indicating whether |
int |
FOCUSABLE_AUTO
This view determines focusability automatically. |
int |
FOCUS_BACKWARD
Use with |
int |
FOCUS_DOWN
Use with |
int |
FOCUS_FORWARD
Use with |
int |
FOCUS_LEFT
Use with |
int |
FOCUS_RIGHT
Use with |
int |
FOCUS_UP
Use with |
int |
GONE
This view is invisible, and it doesn't take any space for layout purposes. |
int |
HAPTIC_FEEDBACK_ENABLED
View flag indicating whether this view should have haptic feedback enabled for events such as long presses. |
int |
IMPORTANT_FOR_ACCESSIBILITY_AUTO
Automatically determine whether a view is important for accessibility. |
int |
IMPORTANT_FOR_ACCESSIBILITY_NO
The view is not important for accessibility. |
int |
IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
The view is not important for accessibility, nor are any of its descendant views. |
int |
IMPORTANT_FOR_ACCESSIBILITY_YES
The view is important for accessibility. |
int |
IMPORTANT_FOR_AUTOFILL_AUTO
Automatically determine whether a view is important for autofill. |
int |
IMPORTANT_FOR_AUTOFILL_NO
The view is not important for autofill, but its children (if any) will be traversed. |
int |
IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
The view is not important for autofill, and its children (if any) will not be traversed. |
int |
IMPORTANT_FOR_AUTOFILL_YES
The view is important for autofill, and its children (if any) will be traversed. |
int |
IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS
The view is important for autofill, but its children (if any) will not be traversed. |
int |
IMPORTANT_FOR_CONTENT_CAPTURE_AUTO
Automatically determine whether a view is important for content capture. |
int |
IMPORTANT_FOR_CONTENT_CAPTURE_NO
The view is not important for content capture, but its children (if any) will be traversed. |
int |
IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS
The view is not important for content capture, and its children (if any) will not be traversed. |
int |
IMPORTANT_FOR_CONTENT_CAPTURE_YES
The view is important for content capture, and its children (if any) will be traversed. |
int |
IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS
The view is important for content capture, but its children (if any) will not be traversed. |
int |
INVISIBLE
This view is invisible, but it still takes up space for layout purposes. |
int |
KEEP_SCREEN_ON
View flag indicating that the screen should remain on while the window containing this view is visible to the user. |
int |
LAYER_TYPE_HARDWARE
Indicates that the view has a hardware layer. |
int |
LAYER_TYPE_NONE
Indicates that the view does not have a layer. |
int |
LAYER_TYPE_SOFTWARE
Indicates that the view has a software layer. |
int |
LAYOUT_DIRECTION_INHERIT
Horizontal layout direction of this view is inherited from its parent. |
int |
LAYOUT_DIRECTION_LOCALE
Horizontal layout direction of this view is from deduced from the default language script for the locale. |
int |
LAYOUT_DIRECTION_LTR
Horizontal layout direction of this view is from Left to Right. |
int |
LAYOUT_DIRECTION_RTL
Horizontal layout direction of this view is from Right to Left. |
int |
MEASURED_HEIGHT_STATE_SHIFT
Bit shift of |
int |
MEASURED_SIZE_MASK
Bits of |
int |
MEASURED_STATE_MASK
Bits of |
int |
MEASURED_STATE_TOO_SMALL
Bit of |
int |
NOT_FOCUSABLE
This view does not want keystrokes. |
int |
NO_ID
Used to mark a View that has no ID. |
int |
OVER_SCROLL_ALWAYS
Always allow a user to over-scroll this view, provided it is a view that can scroll. |
int |
OVER_SCROLL_IF_CONTENT_SCROLLS
Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll. |
int |
OVER_SCROLL_NEVER
Never allow a user to over-scroll this view. |
float |
REQUESTED_FRAME_RATE_CATEGORY_DEFAULT
|
float |
REQUESTED_FRAME_RATE_CATEGORY_HIGH
|
float |
REQUESTED_FRAME_RATE_CATEGORY_LOW
|
float |
REQUESTED_FRAME_RATE_CATEGORY_NORMAL
|
float |
REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE
|
int |
SCREEN_STATE_OFF
Indicates that the screen has changed state and is now off. |
int |
SCREEN_STATE_ON
Indicates that the screen has changed state and is now on. |
int |
SCROLLBARS_INSIDE_INSET
The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view. |
int |
SCROLLBARS_INSIDE_OVERLAY
The scrollbar style to display the scrollbars inside the content area, without increasing the padding. |
int |
SCROLLBARS_OUTSIDE_INSET
The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view. |
int |
SCROLLBARS_OUTSIDE_OVERLAY
The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. |
int |
SCROLLBAR_POSITION_DEFAULT
Position the scroll bar at the default position as determined by the system. |
int |
SCROLLBAR_POSITION_LEFT
Position the scroll bar along the left edge. |
int |
SCROLLBAR_POSITION_RIGHT
Position the scroll bar along the right edge. |
int |
SCROLL_AXIS_HORIZONTAL
Indicates scrolling along the horizontal axis. |
int |
SCROLL_AXIS_NONE
Indicates no axis of view scrolling. |
int |
SCROLL_AXIS_VERTICAL
Indicates scrolling along the vertical axis. |
int |
SCROLL_CAPTURE_HINT_AUTO
The content of this view will be considered for scroll capture if scrolling is possible. |
int |
SCROLL_CAPTURE_HINT_EXCLUDE
Explicitly exclude this view as a potential scroll capture target. |
int |
SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS
Explicitly exclude all children of this view as potential scroll capture targets. |
int |
SCROLL_CAPTURE_HINT_INCLUDE
Explicitly include this view as a potential scroll capture target. |
int |
SCROLL_INDICATOR_BOTTOM
Scroll indicator direction for the bottom edge of the view. |
int |
SCROLL_INDICATOR_END
Scroll indicator direction for the ending edge of the view. |
int |
SCROLL_INDICATOR_LEFT
Scroll indicator direction for the left edge of the view. |
int |
SCROLL_INDICATOR_RIGHT
Scroll indicator direction for the right edge of the view. |
int |
SCROLL_INDICATOR_START
Scroll indicator direction for the starting edge of the view. |
int |
SCROLL_INDICATOR_TOP
Scroll indicator direction for the top edge of the view. |
int |
SOUND_EFFECTS_ENABLED
View flag indicating whether this view should have sound effects enabled for events such as clicking and touching. |
int |
STATUS_BAR_HIDDEN
This constant was deprecated
in API level 15.
Use |
int |
STATUS_BAR_VISIBLE
This constant was deprecated
in API level 15.
Use |
int |
SYSTEM_UI_FLAG_FULLSCREEN
This constant was deprecated
in API level 30.
Use |
int |
SYSTEM_UI_FLAG_HIDE_NAVIGATION
This constant was deprecated
in API level 30.
Use |
int |
SYSTEM_UI_FLAG_IMMERSIVE
This constant was deprecated
in API level 30.
Use |
int |
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
This constant was deprecated
in API level 30.
Use |
int |
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
This constant was deprecated
in API level 30.
For floating windows, use |
int |
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
This constant was deprecated
in API level 30.
For floating windows, use |
int |
SYSTEM_UI_FLAG_LAYOUT_STABLE
This constant was deprecated
in API level 30.
Use |
int |
SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
This constant was deprecated
in API level 30.
Use |
int |
SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
This constant was deprecated
in API level 30.
Use |
int |
SYSTEM_UI_FLAG_LOW_PROFILE
This constant was deprecated
in API level 30.
Low profile mode is deprecated. Hide the system bars instead if the application
needs to be in a unobtrusive mode. Use |
int |
SYSTEM_UI_FLAG_VISIBLE
This constant was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use |
int |
SYSTEM_UI_LAYOUT_FLAGS
This constant was deprecated in API level 30. System UI layout flags are deprecated. |
int |
TEXT_ALIGNMENT_CENTER
Center the paragraph, e.g. ALIGN_CENTER. |
int |
TEXT_ALIGNMENT_GRAVITY
Default for the root view. |
int |
TEXT_ALIGNMENT_INHERIT
Default text alignment. |
int |
TEXT_ALIGNMENT_TEXT_END
Align to the end of the paragraph, e.g. ALIGN_OPPOSITE. |
int |
TEXT_ALIGNMENT_TEXT_START
Align to the start of the paragraph, e.g. ALIGN_NORMAL. |
int |
TEXT_ALIGNMENT_VIEW_END
Align to the end of the view, which is ALIGN_RIGHT if the view's resolved layoutDirection is LTR, and ALIGN_LEFT otherwise. |
int |
TEXT_ALIGNMENT_VIEW_START
Align to the start of the view, which is ALIGN_LEFT if the view's resolved layoutDirection is LTR, and ALIGN_RIGHT otherwise. |
int |
TEXT_DIRECTION_ANY_RTL
Text direction is using "any-RTL" algorithm. |
int |
TEXT_DIRECTION_FIRST_STRONG
Text direction is using "first strong algorithm". |
int |
TEXT_DIRECTION_FIRST_STRONG_LTR
Text direction is using "first strong algorithm". |
int |
TEXT_DIRECTION_FIRST_STRONG_RTL
Text direction is using "first strong algorithm". |
int |
TEXT_DIRECTION_INHERIT
Text direction is inherited through |
int |
TEXT_DIRECTION_LOCALE
Text direction is coming from the system Locale. |
int |
TEXT_DIRECTION_LTR
Text direction is forced to LTR. |
int |
TEXT_DIRECTION_RTL
Text direction is forced to RTL. |
String |
VIEW_LOG_TAG
The logging tag used by this class with android.util.Log. |
int |
VISIBLE
This view is visible. |
Fields | |
---|---|
public
static
final
Property<View, Float> |
ALPHA
A Property wrapper around the |
protected
static
final
int[] |
EMPTY_STATE_SET
Indicates the view has no states set. |
protected
static
final
int[] |
ENABLED_FOCUSED_SELECTED_STATE_SET
Indicates the view is enabled, focused and selected. |
protected
static
final
int[] |
ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled, focused, selected and its window has the focus. |
protected
static
final
int[] |
ENABLED_FOCUSED_STATE_SET
Indicates the view is enabled and has the focus. |
protected
static
final
int[] |
ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled, focused and its window has the focus. |
protected
static
final
int[] |
ENABLED_SELECTED_STATE_SET
Indicates the view is enabled and selected. |
protected
static
final
int[] |
ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled, selected and its window has the focus. |
protected
static
final
int[] |
ENABLED_STATE_SET
Indicates the view is enabled. |
protected
static
final
int[] |
ENABLED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled and that its window has focus. |
protected
static
final
int[] |
FOCUSED_SELECTED_STATE_SET
Indicates the view is focused and selected. |
protected
static
final
int[] |
FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is focused, selected and its window has the focus. |
protected
static
final
int[] |
FOCUSED_STATE_SET
Indicates the view is focused. |
protected
static
final
int[] |
FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view has the focus and that its window has the focus. |
protected
static
final
int[] |
PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET
Indicates the view is pressed, enabled, focused and selected. |
protected
static
final
int[] |
PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled, focused, selected and its window has the focus. |
protected
static
final
int[] |
PRESSED_ENABLED_FOCUSED_STATE_SET
Indicates the view is pressed, enabled and focused. |
protected
static
final
int[] |
PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled, focused and its window has the focus. |
protected
static
final
int[] |
PRESSED_ENABLED_SELECTED_STATE_SET
Indicates the view is pressed, enabled and selected. |
protected
static
final
int[] |
PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled, selected and its window has the focus. |
protected
static
final
int[] |
PRESSED_ENABLED_STATE_SET
Indicates the view is pressed and enabled. |
protected
static
final
int[] |
PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled and its window has the focus. |
protected
static
final
int[] |
PRESSED_FOCUSED_SELECTED_STATE_SET
Indicates the view is pressed, focused and selected. |
protected
static
final
int[] |
PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, focused, selected and its window has the focus. |
protected
static
final
int[] |
PRESSED_FOCUSED_STATE_SET
Indicates the view is pressed and focused. |
protected
static
final
int[] |
PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, focused and its window has the focus. |
protected
static
final
int[] |
PRESSED_SELECTED_STATE_SET
Indicates the view is pressed and selected. |
protected
static
final
int[] |
PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, selected and its window has the focus. |
protected
static
final
int[] |
PRESSED_STATE_SET
Indicates the view is pressed. |
protected
static
final
int[] |
PRESSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed and its window has the focus. |
public
static
final
Property<View, Float> |
ROTATION
A Property wrapper around the |
public
static
final
Property<View, Float> |
ROTATION_X
A Property wrapper around the |
public
static
final
Property<View, Float> |
ROTATION_Y
A Property wrapper around the |
public
static
final
Property<View, Float> |
SCALE_X
A Property wrapper around the |
public
static
final
Property<View, Float> |
SCALE_Y
A Property wrapper around the |
protected
static
final
int[] |
SELECTED_STATE_SET
Indicates the view is selected. |
protected
static
final
int[] |
SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is selected and that its window has the focus. |
public
static
final
Property<View, Float> |
TRANSLATION_X
A Property wrapper around the |
public
static
final
Property<View, Float> |
TRANSLATION_Y
A Property wrapper around the |
public
static
final
Property<View, Float> |
TRANSLATION_Z
A Property wrapper around the |
protected
static
final
int[] |
WINDOW_FOCUSED_STATE_SET
Indicates the view's window has focus. |
public
static
final
Property<View, Float> |
X
A Property wrapper around the |
public
static
final
Property<View, Float> |
Y
A Property wrapper around the |
public
static
final
Property<View, Float> |
Z
A Property wrapper around the |
Public constructors | |
---|---|
View(Context context)
Simple constructor to use when creating a view from code. |
|
View(Context context, AttributeSet attrs)
Constructor that is called when inflating a view from XML. |
|
View(Context context, AttributeSet attrs, int defStyleAttr)
Perform inflation from XML and apply a class-specific base style from a theme attribute. |
|
View(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
Perform inflation from XML and apply a class-specific base style from a theme attribute or style resource. |
Public methods | |
---|---|
void
|
addChildrenForAccessibility(ArrayList<View> outChildren)
Adds the children of this View relevant for accessibility to the given list as output. |
void
|
addExtraDataToAccessibilityNodeInfo(AccessibilityNodeInfo info, String extraDataKey, Bundle arguments)
Adds extra data to an |
void
|
addFocusables(ArrayList<View> views, int direction)
Add any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views. |
void
|
addFocusables(ArrayList<View> views, int direction, int focusableMode)
Adds any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views. |
void
|
addKeyboardNavigationClusters(Collection<View> views, int direction)
Adds any keyboard navigation cluster roots that are descendants of this view (possibly including this view if it is a cluster root itself) to views. |
void
|
addOnAttachStateChangeListener(View.OnAttachStateChangeListener listener)
Add a listener for attach state changes. |
void
|
addOnLayoutChangeListener(View.OnLayoutChangeListener listener)
Add a listener that will be called when the bounds of the view change due to layout processing. |
void
|
addOnUnhandledKeyEventListener(View.OnUnhandledKeyEventListener listener)
Adds a listener which will receive unhandled |
void
|
addTouchables(ArrayList<View> views)
Add any touchable views that are descendants of this view (possibly including this view if it is touchable itself) to views. |
ViewPropertyAnimator
|
animate()
This method returns a ViewPropertyAnimator object, which can be used to animate specific properties on this View. |
void
|
announceForAccessibility(CharSequence text)
Convenience method for sending a |
void
|
autofill(AutofillValue value)
Automatically fills the content of this view with the |
void
|
autofill(SparseArray<AutofillValue> values)
Automatically fills the content of the virtual children within this view. |
void
|
bringToFront()
Change the view's z order in the tree, so it's on top of other sibling views. |
void
|
buildDrawingCache(boolean autoScale)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
void
|
buildDrawingCache()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
void
|
buildLayer()
Forces this view's layer to be created and this view to be rendered into its layer. |
boolean
|
callOnClick()
Directly call any attached OnClickListener. |
boolean
|
canResolveLayoutDirection()
Check if layout direction resolution can be done. |
boolean
|
canResolveTextAlignment()
Check if text alignment resolution can be done. |
boolean
|
canResolveTextDirection()
Check if text direction resolution can be done. |
boolean
|
canScrollHorizontally(int direction)
Check if this view can be scrolled horizontally in a certain direction. |
boolean
|
canScrollVertically(int direction)
Check if this view can be scrolled vertically in a certain direction. |
final
void
|
cancelDragAndDrop()
Cancels an ongoing drag and drop operation. |
void
|
cancelLongPress()
Cancels a pending long press. |
final
void
|
cancelPendingInputEvents()
Cancel any deferred high-level input events that were previously posted to the event queue. |
boolean
|
checkInputConnectionProxy(View view)
Called by the |
void
|
clearAnimation()
Cancels any animations for this view. |
void
|
clearFocus()
Called when this view wants to give up focus. |
void
|
clearPendingCredentialRequest()
Clears the request and callback previously set
through |
void
|
clearViewTranslationCallback()
Clear the |
static
int
|
combineMeasuredStates(int curState, int newState)
Merge two states as returned by |
void
|
computeScroll()
Called by a parent to request that a child update its values for mScrollX and mScrollY if necessary. |
WindowInsets
|
computeSystemWindowInsets(WindowInsets in, Rect outLocalInsets)
Compute insets that should be consumed by this view and the ones that should propagate to those under it. |
AccessibilityNodeInfo
|
createAccessibilityNodeInfo()
Returns an |
void
|
createContextMenu(ContextMenu menu)
Show the context menu for this view. |
void
|
destroyDrawingCache()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
WindowInsets
|
dispatchApplyWindowInsets(WindowInsets insets)
Request to apply the given window insets to this view or another view in its subtree. |
boolean
|
dispatchCapturedPointerEvent(MotionEvent event)
Pass a captured pointer event down to the focused view. |
void
|
dispatchConfigurationChanged(Configuration newConfig)
Dispatch a notification about a resource configuration change down the view hierarchy. |
void
|
dispatchCreateViewTranslationRequest(Map<AutofillId, long[]> viewIds, int[] supportedFormats, TranslationCapability capability, List<ViewTranslationRequest> requests)
Dispatch to collect the |
void
|
dispatchDisplayHint(int hint)
Dispatch a hint about whether this view is displayed. |
boolean
|
dispatchDragEvent(DragEvent event)
Detects if this View is enabled and has a drag event listener. |
void
|
dispatchDrawableHotspotChanged(float x, float y)
Dispatches drawableHotspotChanged to all of this View's children. |
void
|
dispatchFinishTemporaryDetach()
Dispatch |
boolean
|
dispatchGenericMotionEvent(MotionEvent event)
Dispatch a generic motion event. |
boolean
|
dispatchKeyEvent(KeyEvent event)
Dispatch a key event to the next view on the focus path. |
boolean
|
dispatchKeyEventPreIme(KeyEvent event)
Dispatch a key event before it is processed by any input method associated with the view hierarchy. |
boolean
|
dispatchKeyShortcutEvent(KeyEvent event)
Dispatches a key shortcut event. |
boolean
|
dispatchNestedFling(float velocityX, float velocityY, boolean consumed)
Dispatch a fling to a nested scrolling parent. |
boolean
|
dispatchNestedPreFling(float velocityX, float velocityY)
Dispatch a fling to a nested scrolling parent before it is processed by this view. |
boolean
|
dispatchNestedPrePerformAccessibilityAction(int action, Bundle arguments)
Report an accessibility action to this view's parents for delegated processing. |
boolean
|
dispatchNestedPreScroll(int dx, int dy, int[] consumed, int[] offsetInWindow)
Dispatch one step of a nested scroll in progress before this view consumes any portion of it. |
boolean
|
dispatchNestedScroll(int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow)
Dispatch one step of a nested scroll in progress. |
void
|
dispatchPointerCaptureChanged(boolean hasCapture)
|
boolean
|
dispatchPopulateAccessibilityEvent(AccessibilityEvent event)
Dispatches an |
void
|
dispatchProvideAutofillStructure(ViewStructure structure, int flags)
Dispatches creation of a |
void
|
dispatchProvideStructure(ViewStructure structure)
Dispatch creation of |
void
|
dispatchScrollCaptureSearch(Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)
Dispatch a scroll capture search request down the view hierarchy. |
void
|
dispatchStartTemporaryDetach()
Dispatch |
void
|
dispatchSystemUiVisibilityChanged(int visibility)
This method was deprecated
in API level 30.
Use |
boolean
|
dispatchTouchEvent(MotionEvent event)
Pass the touch screen motion event down to the target view, or this view if it is the target. |
boolean
|
dispatchTrackballEvent(MotionEvent event)
Pass a trackball motion event down to the focused view. |
boolean
|
dispatchUnhandledMove(View focused, int direction)
This method is the last chance for the focused view and its ancestors to respond to an arrow key. |
void
|
dispatchWindowFocusChanged(boolean hasFocus)
Called when the window containing this view gains or loses window focus. |
void
|
dispatchWindowInsetsAnimationEnd(WindowInsetsAnimation animation)
Dispatches |
void
|
dispatchWindowInsetsAnimationPrepare(WindowInsetsAnimation animation)
Dispatches |
WindowInsets
|
dispatchWindowInsetsAnimationProgress(WindowInsets insets, List<WindowInsetsAnimation> runningAnimations)
Dispatches |
WindowInsetsAnimation.Bounds
|
dispatchWindowInsetsAnimationStart(WindowInsetsAnimation animation, WindowInsetsAnimation.Bounds bounds)
Dispatches |
void
|
dispatchWindowSystemUiVisiblityChanged(int visible)
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use |
void
|
dispatchWindowVisibilityChanged(int visibility)
Dispatch a window visibility change down the view hierarchy. |
void
|
draw(Canvas canvas)
Manually render this view (and all of its children) to the given Canvas. |
void
|
drawableHotspotChanged(float x, float y)
This function is called whenever the view hotspot changes and needs to be propagated to drawables or child views managed by the view. |
View
|
findFocus()
Find the view in the hierarchy rooted at this view that currently has focus. |
final
OnBackInvokedDispatcher
|
findOnBackInvokedDispatcher()
Walk up the View hierarchy to find the nearest |
final
<T extends View>
T
|
findViewById(int id)
Finds the first descendant view with the given ID, the view itself if
the ID matches |
final
<T extends View>
T
|
findViewWithTag(Object tag)
Look for a child view with the given tag. |
void
|
findViewsWithText(ArrayList<View> outViews, CharSequence searched, int flags)
Finds the Views that contain given text. |
View
|
focusSearch(int direction)
Find the nearest view in the specified direction that can take focus. |
void
|
forceHasOverlappingRendering(boolean hasOverlappingRendering)
Sets the behavior for overlapping rendering for this view (see |
void
|
forceLayout()
Forces this view to be laid out during the next layout pass. |
boolean
|
gatherTransparentRegion(Region region)
This is used by the ViewRoot to perform an optimization when the view hierarchy contains one or several SurfaceView. |
void
|
generateDisplayHash(String hashAlgorithm, Rect bounds, Executor executor, DisplayHashResultCallback callback)
Called to generate a |
static
int
|
generateViewId()
Generate a value suitable for use in |
CharSequence
|
getAccessibilityClassName()
Return the class name of this object to be used for accessibility purposes. |
View.AccessibilityDelegate
|
getAccessibilityDelegate()
Returns the delegate for implementing accessibility support via composition. |
int
|
getAccessibilityLiveRegion()
Gets the live region mode for this View. |
AccessibilityNodeProvider
|
getAccessibilityNodeProvider()
Gets the provider for managing a virtual view hierarchy rooted at this View
and reported to |
CharSequence
|
getAccessibilityPaneTitle()
Get the title of the pane for purposes of accessibility. |
int
|
getAccessibilityTraversalAfter()
Gets the id of a view after which this one is visited in accessibility traversal. |
int
|
getAccessibilityTraversalBefore()
Gets the id of a view before which this one is visited in accessibility traversal. |
String
|
getAllowedHandwritingDelegatePackageName()
Returns the allowed package for delegate editor views for which this view may act as a
handwriting delegator, as set by |
String
|
getAllowedHandwritingDelegatorPackageName()
Returns the allowed package for views which may act as a handwriting delegator for this
delegate editor view, as set by |
float
|
getAlpha()
The opacity of the view. |
Animation
|
getAnimation()
Get the animation currently associated with this view. |
Matrix
|
getAnimationMatrix()
Return the current transformation matrix of the view. |
IBinder
|
getApplicationWindowToken()
Retrieve a unique token identifying the top-level "real" window of the window that this view is attached to. |
int[]
|
getAttributeResolutionStack(int attribute)
Returns the ordered list of resource ID that are considered when resolving attribute values
for this |
Map<Integer, Integer>
|
getAttributeSourceResourceMap()
Returns the mapping of attribute resource ID to source resource ID where the attribute value was set. |
String[]
|
getAutofillHints()
Gets the hints that help an |
final
AutofillId
|
getAutofillId()
Gets the unique, logical identifier of this view in the activity, for autofill purposes. |
int
|
getAutofillType()
Describes the autofill type of this view, so an
|
AutofillValue
|
getAutofillValue()
Gets the |
Drawable
|
getBackground()
Gets the background drawable |
BlendMode
|
getBackgroundTintBlendMode()
Return the blending mode used to apply the tint to the background drawable, if specified. |
ColorStateList
|
getBackgroundTintList()
Return the tint applied to the background drawable, if specified. |
PorterDuff.Mode
|
getBackgroundTintMode()
Return the blending mode used to apply the tint to the background drawable, if specified. |
int
|
getBaseline()
Return the offset of the widget's text baseline from the widget's top boundary. |
final
int
|
getBottom()
Bottom position of this view relative to its parent. |
float
|
getCameraDistance()
Gets the distance along the Z axis from the camera to this view. |
boolean
|
getClipBounds(Rect outRect)
Populates an output rectangle with the clip bounds of the view,
returning |
Rect
|
getClipBounds()
Returns a copy of the current |
final
boolean
|
getClipToOutline()
Returns whether the Outline should be used to clip the contents of the View. |
final
ContentCaptureSession
|
getContentCaptureSession()
Gets the session used to notify content capture events. |
CharSequence
|
getContentDescription()
Returns the |
final
int
|
getContentSensitivity()
Gets content sensitivity mode to determine whether this view displays sensitive content. |
final
Context
|
getContext()
Returns the context the view is running in, through which it can access the current theme, resources, etc. |
final
boolean
|
getDefaultFocusHighlightEnabled()
Returns whether this View should use a default focus highlight when it gets focused but
doesn't have |
static
int
|
getDefaultSize(int size, int measureSpec)
Utility to return a default size. |
Display
|
getDisplay()
Gets the logical display to which the view's window has been attached. |
final
int[]
|
getDrawableState()
Return an array of resource IDs of the drawable states representing the current state of the view. |
Bitmap
|
getDrawingCache()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
Bitmap
|
getDrawingCache(boolean autoScale)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
int
|
getDrawingCacheBackgroundColor()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
int
|
getDrawingCacheQuality()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
void
|
getDrawingRect(Rect outRect)
Return the visible drawing bounds of your view. |
long
|
getDrawingTime()
Return the time at which the drawing of the view hierarchy started. |
float
|
getElevation()
The base elevation of this view relative to its parent, in pixels. |
int
|
getExplicitStyle()
Returns the resource ID for the style specified using |
boolean
|
getFilterTouchesWhenObscured()
Gets whether the framework should discard touches when the view's window is obscured by another visible window at the touched location. |
boolean
|
getFitsSystemWindows()
Check for state of |
int
|
getFocusable()
Returns the focusable setting for this view. |
ArrayList<View>
|
getFocusables(int direction)
Find and return all focusable views that are descendants of this view, possibly including this view if it is focusable itself. |
void
|
getFocusedRect(Rect r)
When a view has focus and the user navigates away from it, the next view is searched for starting from the rectangle filled in by this method. |
Drawable
|
getForeground()
Returns the drawable used as the foreground of this View. |
int
|
getForegroundGravity()
Describes how the foreground is positioned. |
BlendMode
|
getForegroundTintBlendMode()
Return the blending mode used to apply the tint to the foreground drawable, if specified. |
ColorStateList
|
getForegroundTintList()
Return the tint applied to the foreground drawable, if specified. |
PorterDuff.Mode
|
getForegroundTintMode()
Return the blending mode used to apply the tint to the foreground drawable, if specified. |
float
|
getFrameContentVelocity()
Get the current velocity of the View. |
final
boolean
|
getGlobalVisibleRect(Rect r)
Sets |
boolean
|
getGlobalVisibleRect(Rect r, Point globalOffset)
Sets |
Handler
|
getHandler()
|
float
|
getHandwritingBoundsOffsetBottom()
Return the amount of offset applied to the bottom edge of this view's handwriting bounds, in the unit of pixel. |
float
|
getHandwritingBoundsOffsetLeft()
Return the amount of offset applied to the left edge of this view's handwriting bounds, in the unit of pixel. |
float
|
getHandwritingBoundsOffsetRight()
Return the amount of offset applied to the right edge of this view's handwriting bounds, in the unit of pixel. |
float
|
getHandwritingBoundsOffsetTop()
Return the amount of offset applied to the top edge of this view's handwriting bounds, in the unit of pixel. |
int
|
getHandwritingDelegateFlags()
Returns flags configuring the handwriting delegation behavior for this delegate editor view,
as set by |
Runnable
|
getHandwritingDelegatorCallback()
Returns the callback set by |
final
boolean
|
getHasOverlappingRendering()
Returns the value for overlapping rendering that is used internally. |
final
int
|
getHeight()
Return the height of your view. |
void
|
getHitRect(Rect outRect)
Hit rectangle in parent's coordinates |
int
|
getHorizontalFadingEdgeLength()
Returns the size of the horizontal faded edges used to indicate that more content in this view is visible. |
Drawable
|
getHorizontalScrollbarThumbDrawable()
Returns the currently configured Drawable for the thumb of the horizontal scroll bar if it exists, null otherwise. |
Drawable
|
getHorizontalScrollbarTrackDrawable()
Returns the currently configured Drawable for the track of the horizontal scroll bar if it exists, null otherwise. |
int
|
getId()
Returns this view's identifier. |
int
|
getImportantForAccessibility()
Gets the mode for determining whether this View is important for accessibility. |
int
|
getImportantForAutofill()
Gets the mode for determining whether this view is important for autofill. |
int
|
getImportantForContentCapture()
Gets the mode for determining whether this view is important for content capture. |
boolean
|
getKeepScreenOn()
Returns whether the screen should remain on, corresponding to the current
value of |
KeyEvent.DispatcherState
|
getKeyDispatcherState()
Return the global |
int
|
getLabelFor()
Gets the id of a view for which this view serves as a label for accessibility purposes. |
int
|
getLayerType()
Indicates what type of layer is currently associated with this view. |
int
|
getLayoutDirection()
Returns the resolved layout direction for this view. |
ViewGroup.LayoutParams
|
getLayoutParams()
Get the LayoutParams associated with this view. |
final
int
|
getLeft()
Left position of this view relative to its parent. |
final
boolean
|
getLocalVisibleRect(Rect r)
Sets |
void
|
getLocationInSurface(int[] location)
Gets the coordinates of this view in the coordinate space of the
|
void
|
getLocationInWindow(int[] outLocation)
Gets the coordinates of this view in the coordinate space of the window that contains the view, irrespective of system decorations. |
void
|
getLocationOnScreen(int[] outLocation)
Gets the coordinates of this view in the coordinate space of the device screen, irrespective of system decorations and whether the system is in multi-window mode. |
Matrix
|
getMatrix()
The transform matrix of this view, which is calculated based on the current rotation, scale, and pivot properties. |
final
int
|
getMeasuredHeight()
Like |
final
int
|
getMeasuredHeightAndState()
Return the full height measurement information for this view as computed
by the most recent call to |
final
int
|
getMeasuredState()
Return only the state bits of |
final
int
|
getMeasuredWidth()
Like |
final
int
|
getMeasuredWidthAndState()
Return the full width measurement information for this view as computed
by the most recent call to |
int
|
getMinimumHeight()
Returns the minimum height of the view. |
int
|
getMinimumWidth()
Returns the minimum width of the view. |
int
|
getNextClusterForwardId()
Gets the id of the root of the next keyboard navigation cluster. |
int
|
getNextFocusDownId()
Gets the id of the view to use when the next focus is |
int
|
getNextFocusForwardId()
Gets the id of the view to use when the next focus is |
int
|
getNextFocusLeftId()
Gets the id of the view to use when the next focus is |
int
|
getNextFocusRightId()
Gets the id of the view to use when the next focus is |
int
|
getNextFocusUpId()
Gets the id of the view to use when the next focus is |
View.OnFocusChangeListener
|
getOnFocusChangeListener()
Returns the focus-change callback registered for this view. |
int
|
getOutlineAmbientShadowColor()
|
ViewOutlineProvider
|
getOutlineProvider()
Returns the current |
int
|
getOutlineSpotShadowColor()
|
int
|
getOverScrollMode()
Returns the over-scroll mode for this view. |
ViewOverlay
|
getOverlay()
Returns the overlay for this view, creating it if it does not yet exist. |
int
|
getPaddingBottom()
Returns the bottom padding of this view. |
int
|
getPaddingEnd()
Returns the end padding of this view depending on its resolved layout direction. |
int
|
getPaddingLeft()
Returns the left padding of this view. |
int
|
getPaddingRight()
Returns the right padding of this view. |
int
|
getPaddingStart()
Returns the start padding of this view depending on its resolved layout direction. |
int
|
getPaddingTop()
Returns the top padding of this view. |
final
ViewParent
|
getParent()
Gets the parent of this view. |
ViewParent
|
getParentForAccessibility()
Gets the parent for accessibility purposes. |
final
OutcomeReceiver<GetCredentialResponse, GetCredentialException>
|
getPendingCredentialCallback()
Returns the callback that has previously been set up on this view through
the |
final
GetCredentialRequest
|
getPendingCredentialRequest()
Returns the |
float
|
getPivotX()
The x location of the point around which the view is |
float
|
getPivotY()
The y location of the point around which the view is |
PointerIcon
|
getPointerIcon()
Gets the mouse pointer icon for the current view. |
final
List<Rect>
|
getPreferKeepClearRects()
|
String[]
|
getReceiveContentMimeTypes()
Returns the MIME types accepted by |
float
|
getRequestedFrameRate()
Get the current preferred frame rate of the View. |
Resources
|
getResources()
Returns the resources associated with this view. |
final
boolean
|
getRevealOnFocusHint()
Returns this view's preference for reveal behavior when it gains focus. |
final
int
|
getRight()
Right position of this view relative to its parent. |
AttachedSurfaceControl
|
getRootSurfaceControl()
The AttachedSurfaceControl itself is not a View, it is just the interface to the windowing-system object that contains the entire view hierarchy. |
View
|
getRootView()
Finds the topmost view in the current view hierarchy. |
WindowInsets
|
getRootWindowInsets()
Provide original WindowInsets that are dispatched to the view hierarchy. |
float
|
getRotation()
The degrees that the view is rotated around the pivot point. |
float
|
getRotationX()
The degrees that the view is rotated around the horizontal axis through the pivot point. |
float
|
getRotationY()
The degrees that the view is rotated around the vertical axis through the pivot point. |
float
|
getScaleX()
The amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width. |
float
|
getScaleY()
The amount that the view is scaled in y around the pivot point, as a proportion of the view's unscaled height. |
int
|
getScrollBarDefaultDelayBeforeFade()
Returns the delay before scrollbars fade. |
int
|
getScrollBarFadeDuration()
Returns the scrollbar fade duration. |
int
|
getScrollBarSize()
Returns the scrollbar size. |
int
|
getScrollBarStyle()
Returns the current scrollbar style. |
int
|
getScrollCaptureHint()
Returns the current scroll capture hint for this view. |
int
|
getScrollIndicators()
Returns a bitmask representing the enabled scroll indicators. |
final
int
|
getScrollX()
Return the scrolled left position of this view. |
final
int
|
getScrollY()
Return the scrolled top position of this view. |
int
|
getSolidColor()
Override this if your view is known to always be drawn on top of a solid color background, and needs to draw fading edges. |
int
|
getSourceLayoutResId()
A |
final
CharSequence
|
getStateDescription()
Returns the |
StateListAnimator
|
getStateListAnimator()
Returns the current StateListAnimator if exists. |
List<Rect>
|
getSystemGestureExclusionRects()
Retrieve the list of areas within this view's post-layout coordinate space where the system should not intercept touch or other pointing device gestures. |
int
|
getSystemUiVisibility()
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use |
Object
|
getTag()
Returns this view's tag. |
Object
|
getTag(int key)
Returns the tag associated with this view and the specified key. |
int
|
getTextAlignment()
Return the resolved text alignment. |
int
|
getTextDirection()
Return the resolved text direction. |
CharSequence
|
getTooltipText()
Returns the view's tooltip text. |
final
int
|
getTop()
Top position of this view relative to its parent. |
TouchDelegate
|
getTouchDelegate()
Gets the TouchDelegate for this View. |
ArrayList<View>
|
getTouchables()
Find and return all touchable views that are descendants of this view, possibly including this view if it is touchable itself. |
float
|
getTransitionAlpha()
This property is intended only for use by the Fade transition, which animates it to produce a visual translucency that does not side-effect (or get affected by) the real alpha property. |
String
|
getTransitionName()
Returns the name of the View to be used to identify Views in Transitions. |
float
|
getTranslationX()
The horizontal location of this view relative to its |
float
|
getTranslationY()
The vertical location of this view relative to its |
float
|
getTranslationZ()
The depth location of this view relative to its |
long
|
getUniqueDrawingId()
Get the identifier used for this view by the drawing system. |
int
|
getVerticalFadingEdgeLength()
Returns the size of the vertical faded edges used to indicate that more content in this view is visible. |
int
|
getVerticalScrollbarPosition()
|
Drawable
|
getVerticalScrollbarThumbDrawable()
Returns the currently configured Drawable for the thumb of the vertical scroll bar if it exists, null otherwise. |
Drawable
|
getVerticalScrollbarTrackDrawable()
Returns the currently configured Drawable for the track of the vertical scroll bar if it exists, null otherwise. |
int
|
getVerticalScrollbarWidth()
Returns the width of the vertical scrollbar. |
ViewTranslationResponse
|
getViewTranslationResponse()
Returns the |
ViewTreeObserver
|
getViewTreeObserver()
Returns the ViewTreeObserver for this view's hierarchy. |
int
|
getVisibility()
Returns the visibility status for this view. |
final
int
|
getWidth()
Return the width of your view. |
WindowId
|
getWindowId()
Retrieve the |
WindowInsetsController
|
getWindowInsetsController()
Retrieves the single |
int
|
getWindowSystemUiVisibility()
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use |
IBinder
|
getWindowToken()
Retrieve a unique token identifying the window this view is attached to. |
int
|
getWindowVisibility()
Returns the current visibility of the window this view is attached to
(either |
void
|
getWindowVisibleDisplayFrame(Rect outRect)
Retrieve the overall visible display size in which the window this view is attached to has been positioned in. |
float
|
getX()
The visual x position of this view, in pixels. |
float
|
getY()
The visual y position of this view, in pixels. |
float
|
getZ()
The visual z position of this view, in pixels. |
boolean
|
hasExplicitFocusable()
Returns true if this view is focusable or if it contains a reachable View
for which |
boolean
|
hasFocus()
Returns true if this view has focus itself, or is the ancestor of the view that has focus. |
boolean
|
hasFocusable()
Returns true if this view is focusable or if it contains a reachable View
for which |
boolean
|
hasNestedScrollingParent()
Returns true if this view has a nested scrolling parent. |
boolean
|
hasOnClickListeners()
Return whether this view has an attached OnClickListener. |
boolean
|
hasOnLongClickListeners()
Return whether this view has an attached OnLongClickListener. |
boolean
|
hasOverlappingRendering()
Returns whether this View has content which overlaps. |
boolean
|
hasPointerCapture()
Checks pointer capture status. |
boolean
|
hasTransientState()
Indicates whether the view is currently tracking transient state that the app should not need to concern itself with saving and restoring, but that the framework should take special note to preserve when possible. |
boolean
|
hasWindowFocus()
Returns true if this view is in a window that currently has window focus. |
static
View
|
inflate(Context context, int resource, ViewGroup root)
Inflate a view from an XML resource. |
void
|
invalidate()
Invalidate the whole view. |
void
|
invalidate(Rect dirty)
This method was deprecated
in API level 28.
The switch to hardware accelerated rendering in API 14 reduced
the importance of the dirty rectangle. In API 21 the given rectangle is
ignored entirely in favor of an internally-calculated area instead.
Because of this, clients are encouraged to just call |
void
|
invalidate(int l, int t, int r, int b)
This method was deprecated
in API level 28.
The switch to hardware accelerated rendering in API 14 reduced
the importance of the dirty rectangle. In API 21 the given rectangle is
ignored entirely in favor of an internally-calculated area instead.
Because of this, clients are encouraged to just call |
void
|
invalidateDrawable(Drawable drawable)
Invalidates the specified Drawable. |
void
|
invalidateOutline()
Called to rebuild this View's Outline from its |
boolean
|
isAccessibilityDataSensitive()
Whether this view should restrict accessibility service access only to services that have the
|
boolean
|
isAccessibilityFocused()
Returns whether this View is accessibility focused. |
boolean
|
isAccessibilityHeading()
Gets whether this view is a heading for accessibility purposes. |
boolean
|
isActivated()
Indicates the activation state of this view. |
boolean
|
isAttachedToWindow()
Returns true if this view is currently attached to a window. |
boolean
|
isAutoHandwritingEnabled()
Return whether the View allows automatic handwriting initiation. |
boolean
|
isClickable()
Indicates whether this view reacts to click events or not. |
final
boolean
|
isContentSensitive()
Returns whether this view displays sensitive content, based
on the value explicitly set by |
boolean
|
isContextClickable()
Indicates whether this view reacts to context clicks or not. |
boolean
|
isCredential()
Gets the mode for determining whether this view is a credential. |
boolean
|
isDirty()
True if this view has changed since the last time being drawn. |
boolean
|
isDrawingCacheEnabled()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
boolean
|
isDuplicateParentStateEnabled()
Indicates whether this duplicates its drawable state from its parent. |
boolean
|
isEnabled()
Returns the enabled status for this view. |
final
boolean
|
isFocusable()
Returns whether this View is currently able to take focus. |
final
boolean
|
isFocusableInTouchMode()
When a view is focusable, it may not want to take focus when in touch mode. |
boolean
|
isFocused()
Returns true if this view has focus |
final
boolean
|
isFocusedByDefault()
Returns whether this View should receive focus when the focus is restored for the view hierarchy containing this view. |
boolean
|
isForceDarkAllowed()
|
boolean
|
isHandwritingDelegate()
Returns whether this view has been set as a handwriting delegate by |
boolean
|
isHapticFeedbackEnabled()
|
boolean
|
isHardwareAccelerated()
Indicates whether this view is attached to a hardware accelerated window or not. |
boolean
|
isHorizontalFadingEdgeEnabled()
Indicate whether the horizontal edges are faded when the view is scrolled horizontally. |
boolean
|
isHorizontalScrollBarEnabled()
Indicate whether the horizontal scrollbar should be drawn or not. |
boolean
|
isHovered()
Returns true if the view is currently hovered. |
boolean
|
isImportantForAccessibility()
Computes whether this view should be exposed for accessibility. |
final
boolean
|
isImportantForAutofill()
Hints the Android System whether the |
final
boolean
|
isImportantForContentCapture()
Hints the Android System whether this view is considered important for content capture, based
on the value explicitly set by |
boolean
|
isInEditMode()
Indicates whether this View is currently in edit mode. |
boolean
|
isInLayout()
Returns whether the view hierarchy is currently undergoing a layout pass. |
boolean
|
isInTouchMode()
Returns the touch mode state associated with this view. |
final
boolean
|
isKeyboardNavigationCluster()
Returns whether this View is a root of a keyboard navigation cluster. |
boolean
|
isLaidOut()
Returns true if this view has been through at least one layout since it was last attached to or detached from a window. |
boolean
|
isLayoutDirectionResolved()
|
boolean
|
isLayoutRequested()
Indicates whether or not this view's layout will be requested during the next hierarchy layout pass. |
boolean
|
isLongClickable()
Indicates whether this view reacts to long click events or not. |
boolean
|
isNestedScrollingEnabled()
Returns true if nested scrolling is enabled for this view. |
boolean
|
isOpaque()
Indicates whether this View is opaque. |
boolean
|
isPaddingRelative()
Return if the padding has been set through relative values
|
boolean
|
isPivotSet()
Returns whether or not a pivot has been set by a call to |
final
boolean
|
isPreferKeepClear()
Retrieve the preference for this view to be kept clear. |
boolean
|
isPressed()
Indicates whether the view is currently in pressed state. |
boolean
|
isSaveEnabled()
Indicates whether this view will save its state (that is,
whether its |
boolean
|
isSaveFromParentEnabled()
Indicates whether the entire hierarchy under this view will save its state when a state saving traversal occurs from its parent. |
boolean
|
isScreenReaderFocusable()
Returns whether the view should be treated as a focusable unit by screen reader accessibility tools. |
boolean
|
isScrollContainer()
Indicates whether this view is one of the set of scrollable containers in its window. |
boolean
|
isScrollbarFadingEnabled()
Returns true if scrollbars will fade when this view is not scrolling |
boolean
|
isSelected()
Indicates the selection state of this view. |
final
boolean
|
isShowingLayoutBounds()
Returns |
boolean
|
isShown()
Returns the visibility of this view and all of its ancestors |
boolean
|
isSoundEffectsEnabled()
|
final
boolean
|
isTemporarilyDetached()
Tells whether the |
boolean
|
isTextAlignmentResolved()
|
boolean
|
isTextDirectionResolved()
|
boolean
|
isVerticalFadingEdgeEnabled()
Indicate whether the vertical edges are faded when the view is scrolled horizontally. |
boolean
|
isVerticalScrollBarEnabled()
Indicate whether the vertical scrollbar should be drawn or not. |
boolean
|
isVisibleToUserForAutofill(int virtualId)
Computes whether this virtual autofill view is visible to the user. |
void
|
jumpDrawablesToCurrentState()
Call |
View
|
keyboardNavigationClusterSearch(View currentCluster, int direction)
Find the nearest keyboard navigation cluster in the specified direction. |
void
|
layout(int l, int t, int r, int b)
Assign a size and position to a view and all of its descendants This is the second phase of the layout mechanism. |
final
void
|
measure(int widthMeasureSpec, int heightMeasureSpec)
This is called to find out how big a view should be. |
void
|
offsetLeftAndRight(int offset)
Offset this view's horizontal location by the specified amount of pixels. |
void
|
offsetTopAndBottom(int offset)
Offset this view's vertical location by the specified number of pixels. |
WindowInsets
|
onApplyWindowInsets(WindowInsets insets)
Called when the view should apply |
void
|
onCancelPendingInputEvents()
Called as the result of a call to |
boolean
|
onCapturedPointerEvent(MotionEvent event)
Implement this method to handle captured pointer events |
boolean
|
onCheckIsTextEditor()
Check whether the called view is a text editor, in which case it would make sense to automatically display a soft input window for it. |
InputConnection
|
onCreateInputConnection(EditorInfo outAttrs)
Create a new InputConnection for an InputMethod to interact with the view. |
void
|
onCreateViewTranslationRequest(int[] supportedFormats, Consumer<ViewTranslationRequest> requestsCollector)
Collects a |
void
|
onCreateVirtualViewTranslationRequests(long[] virtualIds, int[] supportedFormats, Consumer<ViewTranslationRequest> requestsCollector)
Collects |
boolean
|
onDragEvent(DragEvent event)
Handles drag events sent by the system following a call to
|
void
|
onDrawForeground(Canvas canvas)
Draw any foreground content for this view. |
boolean
|
onFilterTouchEventForSecurity(MotionEvent event)
Filter the touch event to apply security policies. |
void
|
onFinishTemporaryDetach()
Called after |
boolean
|
onGenericMotionEvent(MotionEvent event)
Implement this method to handle generic motion events. |
void
|
onHoverChanged(boolean hovered)
Implement this method to handle hover state changes. |
boolean
|
onHoverEvent(MotionEvent event)
Implement this method to handle hover events. |
void
|
onInitializeAccessibilityEvent(AccessibilityEvent event)
Initializes an |
void
|
onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
Initializes an |
boolean
|
onKeyDown(int keyCode, KeyEvent event)
Default implementation of |
boolean
|
onKeyLongPress(int keyCode, KeyEvent event)
Default implementation of |
boolean
|
onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
Default implementation of |
boolean
|
onKeyPreIme(int keyCode, KeyEvent event)
Handle a key event before it is processed by any input method associated with the view hierarchy. |
boolean
|
onKeyShortcut(int keyCode, KeyEvent event)
Called on the focused view when a key shortcut event is not handled. |
boolean
|
onKeyUp(int keyCode, KeyEvent event)
Default implementation of |
void
|
onPointerCaptureChange(boolean hasCapture)
Called when the window has just acquired or lost pointer capture. |
void
|
onPopulateAccessibilityEvent(AccessibilityEvent event)
Called from |
void
|
onProvideAutofillStructure(ViewStructure structure, int flags)
Populates a |
void
|
onProvideAutofillVirtualStructure(ViewStructure structure, int flags)
Populates a |
void
|
onProvideContentCaptureStructure(ViewStructure structure, int flags)
Populates a |
void
|
onProvideStructure(ViewStructure structure)
Called when assist structure is being retrieved from a view as part of
|
void
|
onProvideVirtualStructure(ViewStructure structure)
Called when assist structure is being retrieved from a view as part of
|
ContentInfo
|
onReceiveContent(ContentInfo payload)
Implements the default behavior for receiving content for this type of view. |
PointerIcon
|
onResolvePointerIcon(MotionEvent event, int pointerIndex)
Resolve the pointer icon that should be used for specified pointer in the motion event. |
void
|
onRtlPropertiesChanged(int layoutDirection)
Called when any RTL property (layout direction or text direction or text alignment) has been changed. |
void
|
onScreenStateChanged(int screenState)
This method is called whenever the state of the screen this view is attached to changes. |
void
|
onScrollCaptureSearch(Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)
Called when scroll capture is requested, to search for appropriate content to scroll. |
void
|
onStartTemporaryDetach()
This is called when a container is going to temporarily detach a child, with
|
boolean
|
onTouchEvent(MotionEvent event)
Implement this method to handle touch screen motion events. |
boolean
|
onTrackballEvent(MotionEvent event)
Implement this method to handle trackball motion events. |
void
|
onViewTranslationResponse(ViewTranslationResponse response)
Called when the content from |
void
|
onVirtualViewTranslationResponses(LongSparseArray<ViewTranslationResponse> response)
Called when the content from |
void
|
onVisibilityAggregated(boolean isVisible)
Called when the user-visibility of this View is potentially affected by a change to this view itself, an ancestor view or the window this view is attached to. |
void
|
onWindowFocusChanged(boolean hasWindowFocus)
Called when the window containing this view gains or loses focus. |
void
|
onWindowSystemUiVisibilityChanged(int visible)
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use |
boolean
|
performAccessibilityAction(int action, Bundle arguments)
Performs the specified accessibility action on the view. |
boolean
|
performClick()
Call this view's OnClickListener, if it is defined. |
boolean
|
performContextClick(float x, float y)
Call this view's OnContextClickListener, if it is defined. |
boolean
|
performContextClick()
Call this view's OnContextClickListener, if it is defined. |
boolean
|
performHapticFeedback(int feedbackConstant)
BZZZTT!!1! Provide haptic feedback to the user for this view. |
boolean
|
performHapticFeedback(int feedbackConstant, int flags)
BZZZTT!!1! Like |
boolean
|
performLongClick(float x, float y)
Calls this view's OnLongClickListener, if it is defined. |
boolean
|
performLongClick()
Calls this view's OnLongClickListener, if it is defined. |
ContentInfo
|
performReceiveContent(ContentInfo payload)
Receives the given content. |
void
|
playSoundEffect(int soundConstant)
Play a sound effect for this view. |
boolean
|
post(Runnable action)
Causes the Runnable to be added to the message queue. |
boolean
|
postDelayed(Runnable action, long delayMillis)
Causes the Runnable to be added to the message queue, to be run after the specified amount of time elapses. |
void
|
postInvalidate()
Cause an invalidate to happen on a subsequent cycle through the event loop. |
void
|
postInvalidate(int left, int top, int right, int bottom)
Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop. |
void
|
postInvalidateDelayed(long delayMilliseconds, int left, int top, int right, int bottom)
Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop. |
void
|
postInvalidateDelayed(long delayMilliseconds)
Cause an invalidate to happen on a subsequent cycle through the event loop. |
void
|
postInvalidateOnAnimation(int left, int top, int right, int bottom)
Cause an invalidate of the specified area to happen on the next animation time step, typically the next display frame. |
void
|
postInvalidateOnAnimation()
Cause an invalidate to happen on the next animation time step, typically the next display frame. |
void
|
postOnAnimation(Runnable action)
Causes the Runnable to execute on the next animation time step. |
void
|
postOnAnimationDelayed(Runnable action, long delayMillis)
Causes the Runnable to execute on the next animation time step, after the specified amount of time elapses. |
void
|
refreshDrawableState()
Call this to force a view to update its drawable state. |
void
|
releasePointerCapture()
Releases the pointer capture. |
boolean
|
removeCallbacks(Runnable action)
Removes the specified Runnable from the message queue. |
void
|
removeOnAttachStateChangeListener(View.OnAttachStateChangeListener listener)
Remove a listener for attach state changes. |
void
|
removeOnLayoutChangeListener(View.OnLayoutChangeListener listener)
Remove a listener for layout changes. |
void
|
removeOnUnhandledKeyEventListener(View.OnUnhandledKeyEventListener listener)
Removes a listener which will receive unhandled |
void
|
requestApplyInsets()
Ask that a new dispatch of |
void
|
requestFitSystemWindows()
This method was deprecated
in API level 20.
Use |
final
boolean
|
requestFocus(int direction)
Call this to try to give focus to a specific view or to one of its descendants and give it a hint about what direction focus is heading. |
final
boolean
|
requestFocus()
Call this to try to give focus to a specific view or to one of its descendants. |
boolean
|
requestFocus(int direction, Rect previouslyFocusedRect)
Call this to try to give focus to a specific view or to one of its descendants and give it hints about the direction and a specific rectangle that the focus is coming from. |
final
boolean
|
requestFocusFromTouch()
Call this to try to give focus to a specific view or to one of its descendants. |
void
|
requestLayout()
Call this when something has changed which has invalidated the layout of this view. |
void
|
requestPointerCapture()
Requests pointer capture mode. |
boolean
|
requestRectangleOnScreen(Rect rectangle)
Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough. |
boolean
|
requestRectangleOnScreen(Rect rectangle, boolean immediate)
Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough. |
final
void
|
requestUnbufferedDispatch(int source)
Request unbuffered dispatch of the given event source class to this view. |
final
void
|
requestUnbufferedDispatch(MotionEvent event)
Request unbuffered dispatch of the given stream of MotionEvents to this View. |
final
<T extends View>
T
|
requireViewById(int id)
Finds the first descendant view with the given ID, the view itself if the ID matches
|
void
|
resetPivot()
Clears any pivot previously set by a call to |
static
int
|
resolveSize(int size, int measureSpec)
Version of |
static
int
|
resolveSizeAndState(int size, int measureSpec, int childMeasuredState)
Utility to reconcile a desired size and state, with constraints imposed by a MeasureSpec. |
boolean
|
restoreDefaultFocus()
Gives focus to the default-focus view in the view hierarchy that has this view as a root. |
void
|
restoreHierarchyState(SparseArray<Parcelable> container)
Restore this view hierarchy's frozen state from the given container. |
final
void
|
saveAttributeDataForStyleable(Context context, int[] styleable, AttributeSet attrs, TypedArray t, int defStyleAttr, int defStyleRes)
Stores debugging information about attributes. |
void
|
saveHierarchyState(SparseArray<Parcelable> container)
Store this view hierarchy's frozen state into the given container. |
void
|
scheduleDrawable(Drawable who, Runnable what, long when)
Schedules an action on a drawable to occur at a specified time. |
void
|
scrollBy(int x, int y)
Move the scrolled position of your view. |
void
|
scrollTo(int x, int y)
Set the scrolled position of your view. |
void
|
sendAccessibilityEvent(int eventType)
Sends an accessibility event of the given type. |
void
|
sendAccessibilityEventUnchecked(AccessibilityEvent event)
This method behaves exactly as |
void
|
setAccessibilityDataSensitive(int accessibilityDataSensitive)
Specifies whether this view should only allow interactions from
|
void
|
setAccessibilityDelegate(View.AccessibilityDelegate delegate)
Sets a delegate for implementing accessibility support via composition (as opposed to inheritance). |
void
|
setAccessibilityHeading(boolean isHeading)
Set if view is a heading for a section of content for accessibility purposes. |
void
|
setAccessibilityLiveRegion(int mode)
Sets the live region mode for this view. |
void
|
setAccessibilityPaneTitle(CharSequence accessibilityPaneTitle)
Visually distinct portion of a window with window-like semantics are considered panes for accessibility purposes. |
void
|
setAccessibilityTraversalAfter(int afterId)
Sets the id of a view that screen readers are requested to visit before this view. |
void
|
setAccessibilityTraversalBefore(int beforeId)
Sets the id of a view that screen readers are requested to visit after this view. |
void
|
setActivated(boolean activated)
Changes the activated state of this view. |
void
|
setAllowClickWhenDisabled(boolean clickableWhenDisabled)
Enables or disables click events for this view when disabled. |
void
|
setAllowedHandwritingDelegatePackage(String allowedPackageName)
Specifies that this view may act as a handwriting initiation delegator for a delegate editor view from the specified package. |
void
|
setAllowedHandwritingDelegatorPackage(String allowedPackageName)
Specifies that a view from the specified package may act as a handwriting delegator for this delegate editor view. |
void
|
setAlpha(float alpha)
Sets the opacity of the view to a value from 0 to 1, where 0 means the view is completely transparent and 1 means the view is completely opaque. |
void
|
setAnimation(Animation animation)
Sets the next animation to play for this view. |
void
|
setAnimationMatrix(Matrix matrix)
Changes the transformation matrix on the view. |
void
|
setAutoHandwritingEnabled(boolean enabled)
Set whether this view enables automatic handwriting initiation. |
void
|
setAutofillHints(String... autofillHints)
Sets the hints that help an |
void
|
setAutofillId(AutofillId id)
Sets the unique, logical identifier of this view in the activity, for autofill purposes. |
void
|
setBackground(Drawable background)
Set the background to a given Drawable, or remove the background. |
void
|
setBackgroundColor(int color)
Sets the background color for this view. |
void
|
setBackgroundDrawable(Drawable background)
This method was deprecated
in API level 16.
use |
void
|
setBackgroundResource(int resid)
Set the background to a given resource. |
void
|
setBackgroundTintBlendMode(BlendMode blendMode)
Specifies the blending mode used to apply the tint specified by
|
void
|
setBackgroundTintList(ColorStateList tint)
Applies a tint to the background drawable. |
void
|
setBackgroundTintMode(PorterDuff.Mode tintMode)
Specifies the blending mode used to apply the tint specified by
|
final
void
|
setBottom(int bottom)
Sets the bottom position of this view relative to its parent. |
void
|
setCameraDistance(float distance)
Sets the distance along the Z axis (orthogonal to the X/Y plane on which views are drawn) from the camera to this view. |
void
|
setClickable(boolean clickable)
Enables or disables click events for this view. |
void
|
setClipBounds(Rect clipBounds)
Sets a rectangular area on this view to which the view will be clipped when it is drawn. |
void
|
setClipToOutline(boolean clipToOutline)
Sets whether the View's Outline should be used to clip the contents of the View. |
void
|
setContentCaptureSession(ContentCaptureSession contentCaptureSession)
Sets the (optional) |
void
|
setContentDescription(CharSequence contentDescription)
Sets the |
final
void
|
setContentSensitivity(int mode)
Sets content sensitivity mode to determine whether this view displays sensitive content (e.g. username, password etc.). |
void
|
setContextClickable(boolean contextClickable)
Enables or disables context clicking for this view. |
void
|
setDefaultFocusHighlightEnabled(boolean defaultFocusHighlightEnabled)
Sets whether this View should use a default focus highlight when it gets focused but doesn't
have |
void
|
setDrawingCacheBackgroundColor(int color)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
void
|
setDrawingCacheEnabled(boolean enabled)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
void
|
setDrawingCacheQuality(int quality)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
void
|
setDuplicateParentStateEnabled(boolean enabled)
Enables or disables the duplication of the parent's state into this view. |
void
|
setElevation(float elevation)
Sets the base elevation of this view, in pixels. |
void
|
setEnabled(boolean enabled)
Set the enabled state of this view. |
void
|
setFadingEdgeLength(int length)
Set the size of the faded edge used to indicate that more content in this view is available. |
void
|
setFilterTouchesWhenObscured(boolean enabled)
Sets whether the framework should discard touches when the view's window is obscured by another visible window at the touched location. |
void
|
setFitsSystemWindows(boolean fitSystemWindows)
Sets whether or not this view should account for system screen decorations
such as the status bar and inset its content; that is, controlling whether
the default implementation of |
void
|
setFocusable(boolean focusable)
Set whether this view can receive the focus. |
void
|
setFocusable(int focusable)
Sets whether this view can receive focus. |
void
|
setFocusableInTouchMode(boolean focusableInTouchMode)
Set whether this view can receive focus while in touch mode. |
void
|
setFocusedByDefault(boolean isFocusedByDefault)
Sets whether this View should receive focus when the focus is restored for the view hierarchy containing this view. |
void
|
setForceDarkAllowed(boolean allow)
Sets whether or not to allow force dark to apply to this view. |
void
|
setForeground(Drawable foreground)
Supply a Drawable that is to be rendered on top of all of the content in the view. |
void
|
setForegroundGravity(int gravity)
Describes how the foreground is positioned. |
void
|
setForegroundTintBlendMode(BlendMode blendMode)
Specifies the blending mode used to apply the tint specified by
|
void
|
setForegroundTintList(ColorStateList tint)
Applies a tint to the foreground drawable. |
void
|
setForegroundTintMode(PorterDuff.Mode tintMode)
Specifies the blending mode used to apply the tint specified by
|
void
|
setFrameContentVelocity(float pixelsPerSecond)
Set the current velocity of the View, we only track positive value. |
void
|
setHandwritingBoundsOffsets(float offsetLeft, float offsetTop, float offsetRight, float offsetBottom)
Set the amount of offset applied to this view's stylus handwriting bounds. |
void
|
setHandwritingDelegateFlags(int flags)
Sets flags configuring the handwriting delegation behavior for this delegate editor view. |
void
|
setHandwritingDelegatorCallback(Runnable callback)
Sets a callback which should be called when a stylus |
void
|
setHapticFeedbackEnabled(boolean hapticFeedbackEnabled)
Set whether this view should have haptic feedback for events such as long presses. |
void
|
setHasTransientState(boolean hasTransientState)
Set whether this view is currently tracking transient state that the framework should attempt to preserve when possible. |
void
|
setHorizontalFadingEdgeEnabled(boolean horizontalFadingEdgeEnabled)
Define whether the horizontal edges should be faded when this view is scrolled horizontally. |
void
|
setHorizontalScrollBarEnabled(boolean horizontalScrollBarEnabled)
Define whether the horizontal scrollbar should be drawn or not. |
void
|
setHorizontalScrollbarThumbDrawable(Drawable drawable)
Defines the horizontal thumb drawable |
void
|
setHorizontalScrollbarTrackDrawable(Drawable drawable)
Defines the horizontal track drawable |
void
|
setHovered(boolean hovered)
Sets whether the view is currently hovered. |
void
|
setId(int id)
Sets the identifier for this view. |
void
|
setImportantForAccessibility(int mode)
Sets how to determine whether 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. |
void
|
setImportantForAutofill(int mode)
Sets the mode for determining whether this view is considered important for autofill. |
void
|
setImportantForContentCapture(int mode)
Sets the mode for determining whether this view is considered important for content capture. |
void
|
setIsCredential(boolean isCredential)
Sets whether this view is a credential for Credential Manager purposes. |
void
|
setIsHandwritingDelegate(boolean isHandwritingDelegate)
Sets this view to be a handwriting delegate. |
void
|
setKeepScreenOn(boolean keepScreenOn)
Controls whether the screen should remain on, modifying the
value of |
void
|
setKeyboardNavigationCluster(boolean isCluster)
Set whether this view is a root of a keyboard navigation cluster. |
void
|
setLabelFor(int id)
Sets the id of a view for which this view serves as a label for accessibility purposes. |
void
|
setLayerPaint(Paint paint)
Updates the |
void
|
setLayerType(int layerType, Paint paint)
Specifies the type of layer backing this view. |
void
|
setLayoutDirection(int layoutDirection)
Set the layout direction for this view. |
void
|
setLayoutParams(ViewGroup.LayoutParams params)
Set the layout parameters associated with this view. |
final
void
|
setLeft(int left)
Sets the left position of this view relative to its parent. |
final
void
|
setLeftTopRightBottom(int left, int top, int right, int bottom)
Assign a size and position to this view. |
void
|
setLongClickable(boolean longClickable)
Enables or disables long click events for this view. |
void
|
setMinimumHeight(int minHeight)
Sets the minimum height of the view. |
void
|
setMinimumWidth(int minWidth)
Sets the minimum width of the view. |
void
|
setNestedScrollingEnabled(boolean enabled)
Enable or disable nested scrolling for this view. |
void
|
setNextClusterForwardId(int nextClusterForwardId)
Sets the id of the view to use as the root of the next keyboard navigation cluster. |
void
|
setNextFocusDownId(int nextFocusDownId)
Sets the id of the view to use when the next focus is |
void
|
setNextFocusForwardId(int nextFocusForwardId)
Sets the id of the view to use when the next focus is |
void
|
setNextFocusLeftId(int nextFocusLeftId)
Sets the id of the view to use when the next focus is |
void
|
setNextFocusRightId(int nextFocusRightId)
Sets the id of the view to use when the next focus is |
void
|
setNextFocusUpId(int nextFocusUpId)
Sets the id of the view to use when the next focus is |
void
|
setOnApplyWindowInsetsListener(View.OnApplyWindowInsetsListener listener)
Set an |
void
|
setOnCapturedPointerListener(View.OnCapturedPointerListener l)
Set a listener to receive callbacks when the pointer capture state of a view changes. |
void
|
setOnClickListener(View.OnClickListener l)
Register a callback to be invoked when this view is clicked. |
void
|
setOnContextClickListener(View.OnContextClickListener l)
Register a callback to be invoked when this view is context clicked. |
void
|
setOnCreateContextMenuListener(View.OnCreateContextMenuListener l)
Register a callback to be invoked when the context menu for this view is being built. |
void
|
setOnDragListener(View.OnDragListener l)
Register a drag event listener callback object for this View. |
void
|
setOnFocusChangeListener(View.OnFocusChangeListener l)
Register a callback to be invoked when focus of this view changed. |
void
|
setOnGenericMotionListener(View.OnGenericMotionListener l)
Register a callback to be invoked when a generic motion event is sent to this view. |
void
|
setOnHoverListener(View.OnHoverListener l)
Register a callback to be invoked when a hover event is sent to this view. |
void
|
setOnKeyListener(View.OnKeyListener l)
Register a callback to be invoked when a hardware key is pressed in this view. |
void
|
setOnLongClickListener(View.OnLongClickListener l)
Register a callback to be invoked when this view is clicked and held. |
void
|
setOnReceiveContentListener(String[] mimeTypes, OnReceiveContentListener listener)
Sets the listener to be |
void
|
setOnScrollChangeListener(View.OnScrollChangeListener l)
Register a callback to be invoked when the scroll X or Y positions of this view change. |
void
|
setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener l)
This method was deprecated
in API level 30.
Use |
void
|
setOnTouchListener(View.OnTouchListener l)
Register a callback to be invoked when a touch event is sent to this view. |
void
|
setOutlineAmbientShadowColor(int color)
Sets the color of the ambient shadow that is drawn when the view has a positive Z or elevation value. |
void
|
setOutlineProvider(ViewOutlineProvider provider)
Sets the |
void
|
setOutlineSpotShadowColor(int color)
Sets the color of the spot shadow that is drawn when the view has a positive Z or elevation value. |
void
|
setOverScrollMode(int overScrollMode)
Set the over-scroll mode for this view. |
void
|
setPadding(int left, int top, int right, int bottom)
Sets the padding. |
void
|
setPaddingRelative(int start, int top, int end, int bottom)
Sets the relative padding. |
void
|
setPendingCredentialRequest(GetCredentialRequest request, OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback)
Sets a |
void
|
setPivotX(float pivotX)
Sets the x location of the point around which the view is
|
void
|
setPivotY(float pivotY)
Sets the y location of the point around which the view is |
void
|
setPointerIcon(PointerIcon pointerIcon)
Set the pointer icon to be used for a mouse pointer in the current view. |
final
void
|
setPreferKeepClear(boolean preferKeepClear)
Set a preference to keep the bounds of this view clear from floating windows above this view's window. |
final
void
|
setPreferKeepClearRects(List<Rect> rects)
Set a preference to keep the provided rects clear from floating windows above this view's window. |
void
|
setPressed(boolean pressed)
Sets the pressed state for this view. |
void
|
setRenderEffect(RenderEffect renderEffect)
Configure the |
void
|
setRequestedFrameRate(float frameRate)
You can set the preferred frame rate for a View using a positive number or by specifying the preferred frame rate category using constants, including REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE, REQUESTED_FRAME_RATE_CATEGORY_LOW, REQUESTED_FRAME_RATE_CATEGORY_NORMAL, REQUESTED_FRAME_RATE_CATEGORY_HIGH. |
final
void
|
setRevealOnFocusHint(boolean revealOnFocus)
Sets this view's preference for reveal behavior when it gains focus. |
final
void
|
setRight(int right)
Sets the right position of this view relative to its parent. |
void
|
setRotation(float rotation)
Sets the degrees that the view is rotated around the pivot point. |
void
|
setRotationX(float rotationX)
Sets the degrees that the view is rotated around the horizontal axis through the pivot point. |
void
|
setRotationY(float rotationY)
Sets the degrees that the view is rotated around the vertical axis through the pivot point. |
void
|
setSaveEnabled(boolean enabled)
Controls whether the saving of this view's state is
enabled (that is, whether its |
void
|
setSaveFromParentEnabled(boolean enabled)
Controls whether the entire hierarchy under this view will save its state when a state saving traversal occurs from its parent. |
void
|
setScaleX(float scaleX)
Sets the amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width. |
void
|
setScaleY(float scaleY)
Sets the amount that the view is scaled in Y around the pivot point, as a proportion of the view's unscaled width. |
void
|
setScreenReaderFocusable(boolean screenReaderFocusable)
Sets whether this View should be a focusable element for screen readers and include non-focusable Views from its subtree when providing feedback. |
void
|
setScrollBarDefaultDelayBeforeFade(int scrollBarDefaultDelayBeforeFade)
Define the delay before scrollbars fade. |
void
|
setScrollBarFadeDuration(int scrollBarFadeDuration)
Define the scrollbar fade duration. |
void
|
setScrollBarSize(int scrollBarSize)
Define the scrollbar size. |
void
|
setScrollBarStyle(int style)
Specify the style of the scrollbars. |
final
void
|
setScrollCaptureCallback(ScrollCaptureCallback callback)
Sets the callback to receive scroll capture requests. |
void
|
setScrollCaptureHint(int hint)
Sets the scroll capture hint for this View. |
void
|
setScrollContainer(boolean isScrollContainer)
Change whether this view is one of the set of scrollable containers in its window. |
void
|
setScrollIndicators(int indicators, int mask)
Sets the state of the scroll indicators specified by the mask. |
void
|
setScrollIndicators(int indicators)
Sets the state of all scroll indicators. |
void
|
setScrollX(int value)
Set the horizontal scrolled position of your view. |
void
|
setScrollY(int value)
Set the vertical scrolled position of your view. |
void
|
setScrollbarFadingEnabled(boolean fadeScrollbars)
Define whether scrollbars will fade when the view is not scrolling. |
void
|
setSelected(boolean selected)
Changes the selection state of this view. |
void
|
setSoundEffectsEnabled(boolean soundEffectsEnabled)
Set whether this view should have sound effects enabled for events such as clicking and touching. |
void
|
setStateDescription(CharSequence stateDescription)
Sets the |
void
|
setStateListAnimator(StateListAnimator stateListAnimator)
Attaches the provided StateListAnimator to this View. |
void
|
setSystemGestureExclusionRects(List<Rect> rects)
Sets a list of areas within this view's post-layout coordinate space where the system should not intercept touch or other pointing device gestures. |
void
|
setSystemUiVisibility(int visibility)
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use |
void
|
setTag(int key, Object tag)
Sets a tag associated with this view and a key. |
void
|
setTag(Object tag)
Sets the tag associated with this view. |
void
|
setTextAlignment(int textAlignment)
Set the text alignment. |
void
|
setTextDirection(int textDirection)
Set the text direction. |
void
|
setTooltipText(CharSequence tooltipText)
Sets the tooltip text which will be displayed in a small popup next to the view. |
final
void
|
setTop(int top)
Sets the top position of this view relative to its parent. |
void
|
setTouchDelegate(TouchDelegate delegate)
Sets the TouchDelegate for this View. |
void
|
setTransitionAlpha(float alpha)
This property is intended only for use by the Fade transition, which animates it to produce a visual translucency that does not side-effect (or get affected by) the real alpha property. |
final
void
|
setTransitionName(String transitionName)
Sets the name of the View to be used to identify Views in Transitions. |
void
|
setTransitionVisibility(int visibility)
Changes the visibility of this View without triggering any other changes. |
void
|
setTranslationX(float translationX)
Sets the horizontal location of this view relative to its |
void
|
setTranslationY(float translationY)
Sets the vertical location of this view relative to its |
void
|
setTranslationZ(float translationZ)
Sets the depth location of this view relative to its |
void
|
setVerticalFadingEdgeEnabled(boolean verticalFadingEdgeEnabled)
Define whether the vertical edges should be faded when this view is scrolled vertically. |
void
|
setVerticalScrollBarEnabled(boolean verticalScrollBarEnabled)
Define whether the vertical scrollbar should be drawn or not. |
void
|
setVerticalScrollbarPosition(int position)
Set the position of the vertical scroll bar. |
void
|
setVerticalScrollbarThumbDrawable(Drawable drawable)
Defines the vertical scrollbar thumb drawable |
void
|
setVerticalScrollbarTrackDrawable(Drawable drawable)
Defines the vertical scrollbar track drawable |
void
|
setViewTranslationCallback(ViewTranslationCallback callback)
Sets a |
void
|
setVisibility(int visibility)
Set the visibility state of this view. |
void
|
setWillNotCacheDrawing(boolean willNotCacheDrawing)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
void
|
setWillNotDraw(boolean willNotDraw)
If this view doesn't do any drawing on its own, set this flag to allow further optimizations. |
void
|
setWindowInsetsAnimationCallback(WindowInsetsAnimation.Callback callback)
Sets a |
void
|
setX(float x)
Sets the visual x position of this view, in pixels. |
void
|
setY(float y)
Sets the visual y position of this view, in pixels. |
void
|
setZ(float z)
Sets the visual z position of this view, in pixels. |
boolean
|
showContextMenu()
Shows the context menu for this view. |
boolean
|
showContextMenu(float x, float y)
Shows the context menu for this view anchored to the specified view-relative coordinate. |
ActionMode
|
startActionMode(ActionMode.Callback callback, int type)
Start an action mode with the given type. |
ActionMode
|
startActionMode(ActionMode.Callback callback)
Start an action mode with the default type |
void
|
startAnimation(Animation animation)
Start the specified animation now. |
final
boolean
|
startDrag(ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)
This method was deprecated
in API level 24.
Use |
final
boolean
|
startDragAndDrop(ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)
Starts a drag and drop operation. |
boolean
|
startNestedScroll(int axes)
Begin a nestable scroll operation along the given axes. |
void
|
stopNestedScroll()
Stop a nested scroll in progress. |
String
|
toString()
Returns a string representation of the object. |
void
|
transformMatrixToGlobal(Matrix matrix)
Modifies the input matrix such that it maps view-local coordinates to on-screen coordinates. |
void
|
transformMatrixToLocal(Matrix matrix)
Modifies the input matrix such that it maps on-screen coordinates to view-local coordinates. |
void
|
unscheduleDrawable(Drawable who, Runnable what)
Cancels a scheduled action on a drawable. |
void
|
unscheduleDrawable(Drawable who)
Unschedule any events associated with the given Drawable. |
final
void
|
updateDragShadow(View.DragShadowBuilder shadowBuilder)
Updates the drag shadow for the ongoing drag and drop operation. |
boolean
|
willNotCacheDrawing()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, |
boolean
|
willNotDraw()
Returns whether or not this View draws on its own. |
Protected methods | |
---|---|
boolean
|
awakenScrollBars(int startDelay, boolean invalidate)
Trigger the scrollbars to draw. |
boolean
|
awakenScrollBars(int startDelay)
Trigger the scrollbars to draw. |
boolean
|
awakenScrollBars()
Trigger the scrollbars to draw. |
int
|
computeHorizontalScrollExtent()
Compute the horizontal extent of the horizontal scrollbar's thumb within the horizontal range. |
int
|
computeHorizontalScrollOffset()
Compute the horizontal offset of the horizontal scrollbar's thumb within the horizontal range. |
int
|
computeHorizontalScrollRange()
Compute the horizontal range that the horizontal scrollbar represents. |
int
|
computeVerticalScrollExtent()
Compute the vertical extent of the vertical scrollbar's thumb within the vertical range. |
int
|
computeVerticalScrollOffset()
Compute the vertical offset of the vertical scrollbar's thumb within the horizontal range. |
int
|
computeVerticalScrollRange()
Compute the vertical range that the vertical scrollbar represents. |
void
|
dispatchDraw(Canvas canvas)
Called by draw to draw the child views. |
boolean
|
dispatchGenericFocusedEvent(MotionEvent event)
Dispatch a generic motion event to the currently focused view. |
boolean
|
dispatchGenericPointerEvent(MotionEvent event)
Dispatch a generic motion event to the view under the first pointer. |
boolean
|
dispatchHoverEvent(MotionEvent event)
Dispatch a hover event. |
void
|
dispatchRestoreInstanceState(SparseArray<Parcelable> container)
Called by |
void
|
dispatchSaveInstanceState(SparseArray<Parcelable> container)
Called by |
void
|
dispatchSetActivated(boolean activated)
Dispatch setActivated to all of this View's children. |
void
|
dispatchSetPressed(boolean pressed)
Dispatch setPressed to all of this View's children. |
void
|
dispatchSetSelected(boolean selected)
Dispatch setSelected to all of this View's children. |
void
|
dispatchVisibilityChanged(View changedView, int visibility)
Dispatch a view visibility change down the view hierarchy. |
void
|
drawableStateChanged()
This function is called whenever the state of the view changes in such a way that it impacts the state of drawables being shown. |
boolean
|
fitSystemWindows(Rect insets)
This method was deprecated
in API level 20.
As of API 20 use |
float
|
getBottomFadingEdgeStrength()
Returns the strength, or intensity, of the bottom faded edge. |
int
|
getBottomPaddingOffset()
Amount by which to extend the bottom fading region. |
ContextMenu.ContextMenuInfo
|
getContextMenuInfo()
Views should implement this if they have extra information to associate with the context menu. |
int
|
getHorizontalScrollbarHeight()
Returns the height of the horizontal scrollbar. |
float
|
getLeftFadingEdgeStrength()
Returns the strength, or intensity, of the left faded edge. |
int
|
getLeftPaddingOffset()
Amount by which to extend the left fading region. |
float
|
getRightFadingEdgeStrength()
Returns the strength, or intensity, of the right faded edge. |
int
|
getRightPaddingOffset()
Amount by which to extend the right fading region. |
int
|
getSuggestedMinimumHeight()
Returns the suggested minimum height that the view should use. |
int
|
getSuggestedMinimumWidth()
Returns the suggested minimum width that the view should use. |
float
|
getTopFadingEdgeStrength()
Returns the strength, or intensity, of the top faded edge. |
int
|
getTopPaddingOffset()
Amount by which to extend the top fading region. |
int
|
getWindowAttachCount()
|
boolean
|
isPaddingOffsetRequired()
If the View draws content inside its padding and enables fading edges, it needs to support padding offsets. |
static
int[]
|
mergeDrawableStates(int[] baseState, int[] additionalState)
Merge your own state values in additionalState into the base
state values baseState that were returned by
|
void
|
onAnimationEnd()
Invoked by a parent ViewGroup to notify the end of the animation currently associated with this view. |
void
|
onAnimationStart()
Invoked by a parent ViewGroup to notify the start of the animation currently associated with this view. |
void
|
onAttachedToWindow()
This is called when the view is attached to a window. |
void
|
onConfigurationChanged(Configuration newConfig)
Called when the current configuration of the resources being used by the application have changed. |
void
|
onCreateContextMenu(ContextMenu menu)
Views should implement this if the view itself is going to add items to the context menu. |
int[]
|
onCreateDrawableState(int extraSpace)
Generate the new |
void
|
onDetachedFromWindow()
This is called when the view is detached from a window. |
void
|
onDisplayHint(int hint)
Gives this view a hint about whether is displayed or not. |
void
|
onDraw(Canvas canvas)
Implement this to do your drawing. |
final
void
|
onDrawScrollBars(Canvas canvas)
Request the drawing of the horizontal and the vertical scrollbar. |
void
|
onFinishInflate()
Finalize inflating a view from XML. |
void
|
onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect)
Called by the view system when the focus state of this view changes. |
void
|
onLayout(boolean changed, int left, int top, int right, int bottom)
Called from layout when this view should assign a size and position to each of its children. |
void
|
onMeasure(int widthMeasureSpec, int heightMeasureSpec)
Measure the view and its content to determine the measured width and the measured height. |
void
|
onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY)
Called by |
void
|
onRestoreInstanceState(Parcelable state)
Hook allowing a view to re-apply a representation of its internal state that had previously
been generated by |
Parcelable
|
onSaveInstanceState()
Hook allowing a view to generate a representation of its internal state that can later be used to create a new instance with that same state. |
void
|
onScrollChanged(int l, int t, int oldl, int oldt)
This is called in response to an internal scroll in this view (i.e., the view scrolled its own contents). |
boolean
|
onSetAlpha(int alpha)
Invoked if there is a Transform that involves alpha. |
void
|
onSizeChanged(int w, int h, int oldw, int oldh)
This is called during layout when the size of this view has changed. |
void
|
onVisibilityChanged(View changedView, int visibility)
Called when the visibility of the view or an ancestor of the view has changed. |
void
|
onWindowVisibilityChanged(int visibility)
Called when the window containing has change its visibility
(between |
boolean
|
overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
Scroll the view with standard behavior for scrolling beyond the normal content boundaries. |
final
void
|
setMeasuredDimension(int measuredWidth, int measuredHeight)
This method must be called by |
boolean
|
verifyDrawable(Drawable who)
If your view subclass is displaying its own Drawable objects, it should override this function and return true for any Drawable it is displaying. |
Inherited methods | |
---|---|
XML attributes
android:accessibilityHeading
Whether or not this view is a heading for accessibility purposes.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:accessibilityLiveRegion
Indicates to accessibility services whether the user should be notified when this view changes.
May be an integer value, such as "100
".
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
assertive | 2 | Accessibility services should interrupt ongoing speech to immediately announce changes to this view. |
none | 0 | Accessibility services should not announce changes to this view. |
polite | 1 | Accessibility services should announce changes to this view. |
Related methods:
android:accessibilityPaneTitle
The title this view should present to accessibility as a pane title.
See View.setAccessibilityPaneTitle(CharSequence)
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
Related methods:
android:accessibilityTraversalAfter
Sets the id of a view that screen readers are requested to visit before this view. Requests that a screen-reader visits the content of the other view before the content of this one. This does nothing if either view is not important for accessibility.
May be an integer value, such as "100
".
Related methods:
android:accessibilityTraversalBefore
Sets the id of a view that screen readers are requested to visit after this view. Requests that a screen-reader visits the content of this view before the content of the one it precedes. This does nothing if either view is not important for accessibility.
May be an integer value, such as "100
".
Related methods:
android:allowClickWhenDisabled
Whether or not allow clicks on disabled view.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:alpha
alpha property of the view, as a value between 0 (completely transparent) and 1 (completely opaque).
May be a floating point value, such as "1.2
".
Related methods:
android:autoHandwritingEnabled
Whether or not the auto handwriting initiation is enabled in this View.
For a view with an active InputConnection
,
if auto handwriting initiation is enabled, stylus movement within its view boundary
will automatically trigger the handwriting mode.
See View.setAutoHandwritingEnabled(boolean)
.
The default value of this flag is configurable by the device manufacturer.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:autofillHints
Describes the content of a view so that a autofill service can fill in the appropriate data. Multiple hints can be combined in a comma separated list or an array of strings to mean e.g. emailAddress or postalAddress.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
Related methods:
android:autofilledHighlight
Drawable to be drawn over the view to mark it as autofilled
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:background
A drawable to use as the background. This can be either a reference to a full drawable resource (such as a PNG image, 9-patch, XML state list description, etc), or a solid color such as "#ff000000" (black).
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
May be a color value, in the form of "#rgb
",
"#argb
", "#rrggbb
", or
"#aarrggbb
".
Related methods:
android:backgroundTint
Tint to apply to the background.
May be a color value, in the form of "#rgb
",
"#argb
", "#rrggbb
", or
"#aarrggbb
".
Related methods:
android:backgroundTintMode
Blending mode used to apply the background tint.
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
add | 10 | Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D) |
multiply | e | Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc] |
screen | f | [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] |
src_atop | 9 | The tint is drawn above the drawable, but with the drawable\u2019s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] |
src_in | 5 | The tint is masked by the alpha channel of the drawable. The drawable\u2019s color channels are thrown out. [Sa * Da, Sc * Da] |
src_over | 3 | The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] |
Related methods:
android:clickable
Defines whether this view reacts to click events.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:clipToOutline
Whether the View's Outline should be used to clip the contents of the View.
Only a single non-rectangular clip can be applied on a View at any time. Circular
clips from a
ViewAnimationUtils.createCircularReveal(View, int, int, float, float)
circular reveal animation take priority over Outline clipping, and child
Outline clipping takes priority over Outline clipping done by a parent.
Note that this flag will only be respected if the View's Outline returns true from
Outline.canClip()
.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:contentDescription
Defines text that briefly describes content of the view. This property is used primarily for accessibility. Since some views do not have textual representation this attribute can be used for providing such.
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
Related methods:
android:contextClickable
Defines whether this view reacts to context click events.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:defaultFocusHighlightEnabled
Whether this View should use a default focus highlight when it gets focused but
doesn't have R.attr.state_focused
defined in its background.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:drawingCacheQuality
Defines the quality of translucent drawing caches. This property is used only when the drawing cache is enabled and translucent. The default value is auto. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11.
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
auto | 0 | Lets the framework decide what quality level should be used for the drawing cache. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. |
high | 2 | High quality. When set to high quality, the drawing cache uses a higher color depth but uses more memory. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. |
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. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11. |
Related methods:
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.
May be a boolean value, such as "true
" or
"false
".
android:elevation
base z depth of the view.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:fadeScrollbars
Defines whether to fade out scrollbars when they are not in use.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:fadingEdgeLength
Defines the length of the fading edges.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:filterTouchesWhenObscured
Specifies whether to filter touches when the view's window is obscured by
another visible window. When set to true, the view will not receive touches
whenever a toast, dialog or other window appears above the view's window.
Refer to the View
security documentation for more details.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:fitsSystemWindows
Boolean internal attribute to adjust view layout based on system windows such as the status bar. If true, adjusts the padding of this view to leave space for the system windows. Will only take effect if this view is in a non-embedded activity.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:focusable
Controls whether a view can take focus. By default, this is "auto" which lets the
framework determine whether a user can move focus to a view. By setting this attribute
to true the view is allowed to take focus. By setting it to "false" the view will not
take focus. This value does not impact the behavior of
directly calling View.requestFocus()
, which will
always request focus regardless of this view. It only impacts where
focus navigation will try to move focus.
May be a boolean value, such as "true
" or
"false
".
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
auto | 10 |
Related methods:
android:focusableInTouchMode
Boolean that controls whether a view can take focus while in touch mode. If this is true for a view, that view can gain focus when clicked on, and can keep focus if another view is clicked on that doesn't have this attribute set to true.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:focusedByDefault
Whether this view is a default-focus view.
Only one view per keyboard navigation cluster can have this attribute set to true.
See View.setFocusedByDefault(boolean)
.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:forceHasOverlappingRendering
Whether this view has elements that may overlap when drawn. See
View.forceHasOverlappingRendering(boolean)
.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:foreground
Defines the drawable to draw over the content. This can be used as an overlay. The foreground drawable participates in the padding of the content if the gravity is set to fill.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
May be a color value, in the form of "#rgb
",
"#argb
", "#rrggbb
", or
"#aarrggbb
".
Related methods:
android:foregroundGravity
Defines the gravity to apply to the foreground drawable. The gravity defaults to fill.
Must be one or more (separated by '|') of the following constant values.
Constant | Value | Description |
---|---|---|
bottom | 50 | Push object to the bottom of its container, not changing its size. |
center | 11 | Place the object in the center of its container in both the vertical and horizontal axis, not changing its size. |
center_horizontal | 1 | Place object in the horizontal center of its container, not changing its size. |
center_vertical | 10 | Place object in the vertical center of its container, not changing its size. |
clip_horizontal | 8 | 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. |
clip_vertical | 80 | 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. |
fill | 77 | Grow the horizontal and vertical size of the object if needed so it completely fills its container. |
fill_horizontal | 7 | Grow the horizontal size of the object if needed so it completely fills its container. |
fill_vertical | 70 | Grow the vertical size of the object if needed so it completely fills its container. |
left | 3 | Push object to the left of its container, not changing its size. |
right | 5 | Push object to the right of its container, not changing its size. |
top | 30 | Push object to the top of its container, not changing its size. |
Related methods:
android:foregroundTint
Tint to apply to the foreground.
May be a color value, in the form of "#rgb
",
"#argb
", "#rrggbb
", or
"#aarrggbb
".
Related methods:
android:foregroundTintMode
Blending mode used to apply the foreground tint.
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
add | 10 | Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D) |
multiply | e | Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc] |
screen | f | [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] |
src_atop | 9 | The tint is drawn above the drawable, but with the drawable\u2019s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc] |
src_in | 5 | The tint is masked by the alpha channel of the drawable. The drawable\u2019s color channels are thrown out. [Sa * Da, Sc * Da] |
src_over | 3 | The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] |
Related methods:
android:hapticFeedbackEnabled
Boolean that controls whether a view should have haptic feedback enabled for events such as long presses.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:id
Supply an identifier name for this view, to later retrieve it
with View.findViewById()
or
Activity.findViewById()
.
This must be a
resource reference; typically you set this using the
@+
syntax to create a new ID resources.
For example: android:id="@+id/my_id"
which
allows you to later retrieve the view
with findViewById(R.id.my_id)
.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:importantForAccessibility
Describes whether or not this view is important for accessibility. If it is important, the view fires accessibility events and is reported to accessibility services that query the screen. Note: While not recommended, an accessibility service may decide to ignore this attribute and operate on all views in the view tree.
May be an integer value, such as "100
".
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
auto | 0 | The system determines whether the view is important for accessibility - default (recommended). |
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. |
yes | 1 | The view is important for accessibility. |
Related methods:
android:importantForAutofill
Hints the Android System whether the view node associated with this View should be included in a view structure used for autofill purposes.
Must be one or more (separated by '|') of the following constant values.
Constant | Value | Description |
---|---|---|
auto | 0 | Let the Android System use its heuristics to determine if the view is important for autofill. |
no | 2 | Hint the Android System that this view is *not* important for autofill, but its children (if any) will be traversed.. |
noExcludeDescendants | 8 | Hint the Android System that this view is *not* important for autofill, and its children (if any) will not be traversed. |
yes | 1 | Hint the Android System that this view is important for autofill, and its children (if any) will be traversed.. |
yesExcludeDescendants | 4 | Hint the Android System that this view is important for autofill, but its children (if any) will not be traversed. |
Related methods:
android:importantForContentCapture
Hints the Android System whether the view node associated with this View should be use for content capture purposes.
Must be one or more (separated by '|') of the following constant values.
Constant | Value | Description |
---|---|---|
auto | 0 | Let the Android System use its heuristics to determine if the view is important for content capture. |
no | 2 | Hint the Android System that this view is *not* important for content capture, but its children (if any) will be traversed.. |
noExcludeDescendants | 8 | Hint the Android System that this view is *not* important for content capture, and its children (if any) will not be traversed. |
yes | 1 | Hint the Android System that this view is important for content capture, and its children (if any) will be traversed.. |
yesExcludeDescendants | 4 | Hint the Android System that this view is important for content capture, but its children (if any) will not be traversed. |
Related methods:
android:isCredential
Boolean that hints the Android System that the view is credential and associated with CredentialManager
May be a boolean value, such as "true
" or
"false
".
Related methods:
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. If not set, the default value will be true if "scrollbars" has the vertical scrollbar set, else it will be false.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:keepScreenOn
Controls whether the view's window should keep the screen on while visible.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:keyboardNavigationCluster
Whether this view is a root of a keyboard navigation cluster.
See View.setKeyboardNavigationCluster(boolean)
.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:layerType
Specifies the type of layer backing this view. The default value is none.
Refer to View.setLayerType(int, android.graphics.Paint)
for more information.
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
hardware | 2 | Use a hardware layer. Refer to
View.setLayerType(int, android.graphics.Paint) for
more information. |
none | 0 | Don't use a layer. |
software | 1 | Use a software layer. Refer to
View.setLayerType(int, android.graphics.Paint) for
more information. |
Related methods:
android:layoutDirection
Defines the direction of layout drawing. This typically is associated with writing direction of the language script used. The possible values are "ltr" for Left-to-Right, "rtl" for Right-to-Left, "locale", and "inherit" from parent view. If there is nothing to inherit, "locale" is used. "locale" falls back to "en-US". "ltr" is the direction used in "en-US". The default for this attribute is "inherit".
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
inherit | 2 | Inherit from parent. |
locale | 3 | Locale. |
ltr | 0 | Left-to-Right. |
rtl | 1 | Right-to-Left. |
Related methods:
android:longClickable
Defines whether this view reacts to long click events.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:minHeight
Defines the minimum height of the view. It is not guaranteed the view will be able to achieve this minimum height (for example, if its parent layout constrains it with less available height).
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:minWidth
Defines the minimum width of the view. It is not guaranteed the view will be able to achieve this minimum width (for example, if its parent layout constrains it with less available width).
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:nextClusterForward
Defines the next keyboard navigation cluster.
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.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:nextFocusDown
Defines the next view to give focus to when the next focus is
View.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.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:nextFocusForward
Defines the next view to give focus to when the next focus is
View.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.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:nextFocusLeft
Defines the next view to give focus to when the next focus is
View.FOCUS_LEFT
.
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.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:nextFocusRight
Defines the next view to give focus to when the next focus is
View.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.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:nextFocusUp
Defines the next view to give focus to when the next focus is
View.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.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:onClick
Name of the method in this View's context to invoke when the view is
clicked. This name must correspond to a public method that takes
exactly one parameter of type View. For instance, if you specify
android:onClick="sayHello"
, you must declare a
public void sayHello(View v)
method of your context
(typically, your Activity).
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
android:outlineAmbientShadowColor
Sets the color of the ambient shadow that is drawn when the view has a positive Z or elevation value.
By default the shadow color is black. Generally, this color will be opaque so the intensity of the shadow is consistent between different views with different colors.
The opacity of the final ambient shadow is a function of the shadow caster height,
the alpha channel of the outlineAmbientShadowColor (typically opaque), and the
R.attr.ambientShadowAlpha
theme attribute.
May be a color value, in the form of "#rgb
",
"#argb
", "#rrggbb
", or
"#aarrggbb
".
Related methods:
android:outlineSpotShadowColor
Sets the color of the spot shadow that is drawn when the view has a positive Z or elevation value.
By default the shadow color is black. Generally, this color will be opaque so the intensity of the shadow is consistent between different views with different colors.
The opacity of the final spot shadow is a function of the shadow caster height, the
alpha channel of the outlineSpotShadowColor (typically opaque), and the
R.attr.spotShadowAlpha
theme attribute.
May be a color value, in the form of "#rgb
",
"#argb
", "#rrggbb
", or
"#aarrggbb
".
Related methods:
android:padding
Sets the padding, in pixels, of all four edges. Padding is defined as
space between the edges of the view and the view's content. This value will take
precedence over any of the edge-specific values (paddingLeft, paddingTop,
paddingRight, paddingBottom, paddingHorizontal and paddingVertical), but will
not override paddingStart or paddingEnd, if set. A view's size
will include its padding. If a R.attr.background
is provided, the padding will initially be set to that (0 if the
drawable does not have padding). Explicitly setting a padding value
will override the corresponding padding found in the background.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:paddingBottom
Sets the padding, in pixels, of the bottom edge; see R.attr.padding
.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:paddingEnd
Sets the padding, in pixels, of the end edge; see R.attr.padding
.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:paddingHorizontal
Sets the padding, in pixels, of the left and right edges; see
R.attr.padding
. This value will take precedence over
paddingLeft and paddingRight, but not paddingStart or paddingEnd (if set).
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
android:paddingLeft
Sets the padding, in pixels, of the left edge; see R.attr.padding
.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:paddingRight
Sets the padding, in pixels, of the right edge; see R.attr.padding
.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:paddingStart
Sets the padding, in pixels, of the start edge; see R.attr.padding
.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:paddingTop
Sets the padding, in pixels, of the top edge; see R.attr.padding
.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:paddingVertical
Sets the padding, in pixels, of the top and bottom edges; see
R.attr.padding
. This value will take precedence over
paddingTop and paddingBottom, if set.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
android:preferKeepClear
Sets a preference to keep the bounds of this view clear from floating windows above this view's window. This informs the system that the view is considered a vital area for the user and that ideally it should not be covered. Setting this is only appropriate for UI where the user would likely take action to uncover it.
The system will try to respect this, but when not possible will ignore it.
This is equivalent to View.setPreferKeepClear(boolean)
.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:requiresFadingEdge
Defines which edges should be faded on scrolling.
Must be one or more (separated by '|') of the following constant values.
Constant | Value | Description |
---|---|---|
horizontal | 1000 | Fades horizontal edges only. |
none | 0 | No edge is faded. |
vertical | 2000 | Fades vertical edges only. |
Related methods:
android:rotation
rotation of the view, in degrees.
May be a floating point value, such as "1.2
".
Related methods:
android:rotationX
rotation of the view around the x axis, in degrees.
May be a floating point value, such as "1.2
".
Related methods:
android:rotationY
rotation of the view around the y axis, in degrees.
May be a floating point value, such as "1.2
".
Related methods:
android:saveEnabled
If false, no state will be saved for this view when it is being frozen. The default is true, allowing the view to be saved (however it also must have an ID assigned to it for its state to be saved). Setting this to false only disables the state for this view, not for its children which may still be saved.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:scaleX
scale of the view in the x direction.
May be a floating point value, such as "1.2
".
Related methods:
android:scaleY
scale of the view in the y direction.
May be a floating point value, such as "1.2
".
Related methods:
android:screenReaderFocusable
Whether this view should be treated as a focusable unit by screen reader accessibility
tools. See View.setScreenReaderFocusable(boolean)
. The default
value, false
, leaves the screen reader to consider other signals, such as
focusability or the presence of text, to decide what it focus.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:scrollIndicators
Defines which scroll indicators should be displayed when the view can be scrolled. Multiple values may be combined using logical OR, for example "top|bottom".
Must be one or more (separated by '|') of the following constant values.
Constant | Value | Description |
---|---|---|
bottom | 2 | Displays bottom scroll indicator when vew can be scrolled down. |
end | 20 | Displays right scroll indicator when vew can be scrolled in the end direction. |
left | 4 | Displays left scroll indicator when vew can be scrolled left. |
none | 0 | No scroll indicators are displayed. |
right | 8 | Displays right scroll indicator when vew can be scrolled right. |
start | 10 | Displays right scroll indicator when vew can be scrolled in the start direction. |
top | 1 | Displays top scroll indicator when view can be scrolled up. |
Related methods:
android:scrollX
The initial horizontal scroll offset, in pixels.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
android:scrollY
The initial vertical scroll offset, in pixels.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
android:scrollbarAlwaysDrawHorizontalTrack
Defines whether the horizontal scrollbar track should always be drawn.
May be a boolean value, such as "true
" or
"false
".
android:scrollbarAlwaysDrawVerticalTrack
Defines whether the vertical scrollbar track should always be drawn.
May be a boolean value, such as "true
" or
"false
".
android:scrollbarDefaultDelayBeforeFade
Defines the delay in milliseconds that a scrollbar waits before fade out.
May be an integer value, such as "100
".
Related methods:
android:scrollbarFadeDuration
Defines the delay in milliseconds that a scrollbar takes to fade out.
May be an integer value, such as "100
".
Related methods:
android:scrollbarSize
Sets the width of vertical scrollbars and height of horizontal scrollbars.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:scrollbarStyle
Controls the scrollbar style and position. The scrollbars can be overlaid or inset. When inset, they add to the padding of the view. And the scrollbars can be drawn inside the padding area or on the edge of the view. For example, if a view has a background drawable and you want to draw the scrollbars inside the padding specified by the drawable, you can use insideOverlay or insideInset. If you want them to appear at the edge of the view, ignoring the padding, then you can use outsideOverlay or outsideInset.
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
insideInset | 1000000 | Inside the padding and inset. |
insideOverlay | 0 | Inside the padding and overlaid. |
outsideInset | 3000000 | Edge of the view and inset. |
outsideOverlay | 2000000 | Edge of the view and overlaid. |
Related methods:
android:scrollbarThumbHorizontal
Defines the horizontal scrollbar thumb drawable.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:scrollbarThumbVertical
Defines the vertical scrollbar thumb drawable.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:scrollbarTrackHorizontal
Defines the horizontal scrollbar track drawable.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:scrollbarTrackVertical
Defines the vertical scrollbar track drawable.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
Related methods:
android:scrollbars
Defines which scrollbars should be displayed on scrolling or not.
Must be one or more (separated by '|') of the following constant values.
Constant | Value | Description |
---|---|---|
horizontal | 100 | Displays horizontal scrollbar only. |
none | 0 | No scrollbar is displayed. |
vertical | 200 | Displays vertical scrollbar only. |
android:soundEffectsEnabled
Boolean that controls whether a view should have sound effects enabled for events such as clicking and touching.
May be a boolean value, such as "true
" or
"false
".
Related methods:
android:stateListAnimator
Sets the state-based animator for the View.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
android:tag
Supply a tag for this view containing a String, to be retrieved
later with View.getTag()
or
searched for with View.findViewWithTag()
. It is generally preferable to use
IDs (through the android:id attribute) instead of tags because
they are faster and allow for compile-time type checking.
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
android:textAlignment
Defines the alignment of the text.
May be an integer value, such as "100
".
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
center | 4 | Center the paragraph, for example: ALIGN_CENTER. |
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\u2019s text direction. |
inherit | 0 | Default. |
textEnd | 3 | Align to the end of the paragraph, for example: ALIGN_OPPOSITE. |
textStart | 2 | Align to the start of the paragraph, for example: ALIGN_NORMAL. |
viewEnd | 6 | Align to the end of the view, which is ALIGN_RIGHT if the view\u2019s resolved layoutDirection is LTR, and ALIGN_LEFT otherwise. |
viewStart | 5 | Align to the start of the view, which is ALIGN_LEFT if the view\u2019s resolved layoutDirection is LTR, and ALIGN_RIGHT otherwise. |
Related methods:
android:textDirection
Defines the direction of the text.
May be an integer value, such as "100
".
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
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\u2019s resolved layout direction. |
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\u2019s resolved layout direction. |
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. |
inherit | 0 | Default. |
locale | 5 | The paragraph direction is coming from the system Locale. |
ltr | 3 | The paragraph direction is left to right. |
rtl | 4 | The paragraph direction is right to left. |
Related methods:
android:theme
Specifies a theme override for a view. When a theme override is set, the
view will be inflated using a Context
themed with
the specified resource. During XML inflation, any child views under the
view with a theme override will inherit the themed context.
May be a reference to another resource, in the form
"@[+][package:]type/name
" or a theme
attribute in the form
"?[package:]type/name
".
android:tooltipText
Defines text displayed in a small popup window on hover or long press.
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
Related methods:
android:transformPivotX
x location of the pivot point around which the view will rotate and scale. This xml attribute sets the pivotX property of the View.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:transformPivotY
y location of the pivot point around which the view will rotate and scale. This xml attribute sets the pivotY property of the View.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:transitionName
Names a View such that it can be identified for Transitions. Names should be unique in the View hierarchy.
May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character;
android:translationX
translation in x of the view. This value is added post-layout to the left property of the view, which is set by its layout.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:translationY
translation in y of the view. This value is added post-layout to the top property of the view, which is set by its layout.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:translationZ
translation in z of the view. This value is added to its elevation.
May be a dimension value, which is a floating point number appended with a
unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels),
sp (scaled pixels based on preferred font size), in (inches), and
mm (millimeters).
Related methods:
android:visibility
Controls the initial visibility of the view.
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
gone | 2 | Completely hidden, as if the view had not been added. |
invisible | 1 | Not displayed, but taken into account during layout (space is left for it). |
visible | 0 | Visible on screen; the default value. |
Related methods:
Constants
ACCESSIBILITY_DATA_SENSITIVE_AUTO
public static final int ACCESSIBILITY_DATA_SENSITIVE_AUTO
Automatically determine whether the view should only allow interactions from
AccessibilityService
s with the
AccessibilityServiceInfo.isAccessibilityTool()
property
set to true.
Accessibility interactions from services without isAccessibilityTool
set to true are
disallowed for any of the following conditions:
getFilterTouchesWhenObscured()
.isAccessibilityDataSensitive()
.Constant Value: 0 (0x00000000)
ACCESSIBILITY_DATA_SENSITIVE_NO
public static final int ACCESSIBILITY_DATA_SENSITIVE_NO
Allow interactions from all AccessibilityService
s,
regardless of their
AccessibilityServiceInfo.isAccessibilityTool()
property.
Constant Value: 2 (0x00000002)
ACCESSIBILITY_DATA_SENSITIVE_YES
public static final int ACCESSIBILITY_DATA_SENSITIVE_YES
Only allow interactions from AccessibilityService
s
with the AccessibilityServiceInfo.isAccessibilityTool()
property set to true.
Constant Value: 1 (0x00000001)
ACCESSIBILITY_LIVE_REGION_ASSERTIVE
public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE
Live region mode specifying that accessibility services should immediately notify users of changes to this view. For example, a screen reader may interrupt ongoing speech to immediately announce these changes.
Use with setAccessibilityLiveRegion(int)
.
Constant Value: 2 (0x00000002)
ACCESSIBILITY_LIVE_REGION_NONE
public static final int ACCESSIBILITY_LIVE_REGION_NONE
Live region mode specifying that accessibility services should not automatically announce changes to this view. This is the default live region mode for most views.
Use with setAccessibilityLiveRegion(int)
.
Constant Value: 0 (0x00000000)
ACCESSIBILITY_LIVE_REGION_POLITE
public static final int ACCESSIBILITY_LIVE_REGION_POLITE
Live region mode specifying that accessibility services should notify users of changes to this view.
Use with setAccessibilityLiveRegion(int)
.
Constant Value: 1 (0x00000001)
AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
public static final int AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
Flag requesting you to add views that are marked as not important for autofill
(see setImportantForAutofill(int)
) to a ViewStructure
.
Constant Value: 1 (0x00000001)
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE
public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE
Hint indicating that this view can be autofilled with a credit card expiration date.
It should be used when the credit card expiration date is represented by just one view;
if it is represented by more than one (for example, one view for the month and another view
for the year), then each of these views should use the hint specific for the unit
(AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY
,
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH
,
or AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
).
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE
When annotating a view with this hint, it's recommended to use a date autofill value to avoid ambiguity when the autofill service provides a value for it. To understand why a value can be ambiguous, consider "April of 2020", which could be represented as either of the following options:
"04/2020"
"4/2020"
"2020/04"
"2020/4"
"April/2020"
"Apr/2020"
You define a date autofill value for the view by overriding the following methods:
getAutofillType()
to returnAUTOFILL_TYPE_DATE
.getAutofillValue()
to return adate autofillvalue
.autofill(android.view.autofill.AutofillValue)
to expect a data autofillvalue.
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "creditCardExpirationDate"
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY
public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY
Hint indicating that this view can be autofilled with a credit card expiration day.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "creditCardExpirationDay"
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH
public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH
Hint indicating that this view can be autofilled with a credit card expiration month.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH
When annotating a view with this hint, it's recommended to use a text autofill value
whose value is the numerical representation of the month, starting on 1
to avoid
ambiguity when the autofill service provides a value for it. To understand why a
value can be ambiguous, consider "January", which could be represented as either of
"1"
: recommended way."0"
: if following theCalendar#MONTH
convention."January"
: full name, in English."jan"
: abbreviated name, in English."Janeiro"
: full name, in another language.
Another recommended approach is to use a date autofill value - see
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE
for more details.
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "creditCardExpirationMonth"
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
Hint indicating that this view can be autofilled with a credit card expiration year.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "creditCardExpirationYear"
AUTOFILL_HINT_CREDIT_CARD_NUMBER
public static final String AUTOFILL_HINT_CREDIT_CARD_NUMBER
Hint indicating that this view can be autofilled with a credit card number.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_CREDIT_CARD_NUMBER
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "creditCardNumber"
AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE
public static final String AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE
Hint indicating that this view can be autofilled with a credit card security code.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "creditCardSecurityCode"
AUTOFILL_HINT_EMAIL_ADDRESS
public static final String AUTOFILL_HINT_EMAIL_ADDRESS
Hint indicating that this view can be autofilled with an email address.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_EMAIL_ADDRESS
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "emailAddress"
AUTOFILL_HINT_NAME
public static final String AUTOFILL_HINT_NAME
Hint indicating that this view can be autofilled with a user's real name.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_NAME
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "name"
AUTOFILL_HINT_PASSWORD
public static final String AUTOFILL_HINT_PASSWORD
Hint indicating that this view can be autofilled with a password.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_PASSWORD
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "password"
AUTOFILL_HINT_PHONE
public static final String AUTOFILL_HINT_PHONE
Hint indicating that this view can be autofilled with a phone number.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_PHONE
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "phone"
AUTOFILL_HINT_POSTAL_ADDRESS
public static final String AUTOFILL_HINT_POSTAL_ADDRESS
Hint indicating that this view can be autofilled with a postal address.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_POSTAL_ADDRESS
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "postalAddress"
AUTOFILL_HINT_POSTAL_CODE
public static final String AUTOFILL_HINT_POSTAL_CODE
Hint indicating that this view can be autofilled with a postal code.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_POSTAL_CODE
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "postalCode"
AUTOFILL_HINT_USERNAME
public static final String AUTOFILL_HINT_USERNAME
Hint indicating that this view can be autofilled with a username.
Can be used with either setAutofillHints(java.lang.String[])
or
android:autofillHint
(in which case the
value should be
).
.AUTOFILL_HINT_USERNAME
See setAutofillHints(java.lang.String)
for more info about autofill hints.
Constant Value: "username"
AUTOFILL_TYPE_DATE
public static final int AUTOFILL_TYPE_DATE
Autofill type for a field that contains a date, which is represented by a long representing
the number of milliseconds since the standard base time known as "the epoch", namely
January 1, 1970, 00:00:00 GMT (see Date.getTime()
.
AutofillValue
instances for autofilling a View
can be obtained through
AutofillValue#forDate(long)
, and the values passed to
autofill a View
can be fetched through AutofillValue#getDateValue()
.
See also:
Constant Value: 4 (0x00000004)
AUTOFILL_TYPE_LIST
public static final int AUTOFILL_TYPE_LIST
Autofill type for a selection list field, which is filled by an int
representing the element index inside the list (starting at 0
).
AutofillValue
instances for autofilling a View
can be obtained through
AutofillValue#forList(int)
, and the value passed to autofill a
View
can be fetched through AutofillValue#getListValue()
.
The available options in the selection list are typically provided by
AssistStructure.ViewNode.getAutofillOptions()
.
See also:
Constant Value: 3 (0x00000003)
AUTOFILL_TYPE_NONE
public static final int AUTOFILL_TYPE_NONE
Autofill type for views that cannot be autofilled.
Typically used when the view is read-only; for example, a text label.
See also:
Constant Value: 0 (0x00000000)
AUTOFILL_TYPE_TEXT
public static final int AUTOFILL_TYPE_TEXT
Autofill type for a text field, which is filled by a CharSequence
.
AutofillValue
instances for autofilling a View
can be obtained through
AutofillValue#forText(CharSequence)
, and the value passed to autofill a
View
can be fetched through AutofillValue#getTextValue()
.
See also:
Constant Value: 1 (0x00000001)
AUTOFILL_TYPE_TOGGLE
public static final int AUTOFILL_TYPE_TOGGLE
Autofill type for a togglable field, which is filled by a boolean
.
AutofillValue
instances for autofilling a View
can be obtained through
AutofillValue#forToggle(boolean)
, and the value passed to autofill a
View
can be fetched through AutofillValue#getToggleValue()
.
See also:
Constant Value: 2 (0x00000002)
CONTENT_SENSITIVITY_AUTO
public static final int CONTENT_SENSITIVITY_AUTO
Content sensitivity is determined by the framework. The framework uses a heuristic to
determine if this view displays sensitive content.
Autofill hints i.e. getAutofillHints()
are used in the heuristic
to determine if this view should be considered as a sensitive view.
AUTOFILL_HINT_USERNAME
,
AUTOFILL_HINT_PASSWORD
,
AUTOFILL_HINT_CREDIT_CARD_NUMBER
,
AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE
,
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE
,
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY
,
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH
,
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
are considered sensitive hints by the framework, and the list may include more hints
in the future.
The window hosting a sensitive view will be marked as secure during an active media
projection session. This would be equivalent to applying
WindowManager.LayoutParams.FLAG_SECURE
to the window.
See also:
Constant Value: 0 (0x00000000)
CONTENT_SENSITIVITY_NOT_SENSITIVE
public static final int CONTENT_SENSITIVITY_NOT_SENSITIVE
The view doesn't display sensitive content.
See also:
Constant Value: 2 (0x00000002)
CONTENT_SENSITIVITY_SENSITIVE
public static final int CONTENT_SENSITIVITY_SENSITIVE
The view displays sensitive content.
The window hosting a sensitive view will be marked as secure during an active media
projection session. This would be equivalent to applying
WindowManager.LayoutParams.FLAG_SECURE
to the window.
See also:
Constant Value: 1 (0x00000001)
DRAG_FLAG_ACCESSIBILITY_ACTION
public static final int DRAG_FLAG_ACCESSIBILITY_ACTION
Flag indicating that the drag was initiated with
AccessibilityNodeInfo.AccessibilityAction#ACTION_DRAG_START
. When
startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)
is called, this
is used by the system to perform a drag without animations.
Constant Value: 1024 (0x00000400)
DRAG_FLAG_GLOBAL
public static final int DRAG_FLAG_GLOBAL
Flag indicating that a drag can cross window boundaries. When
startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)
is called
with this flag set, all visible applications with targetSdkVersion >=
API 24
will be able to participate
in the drag operation and receive the dragged content.
If this is the only flag set, then the drag recipient will only have access to text data
and intents contained in the ClipData
object. Access to URIs contained in the
ClipData
is determined by other DRAG_FLAG_GLOBAL_* flags
Constant Value: 256 (0x00000100)
DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION
public static final int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION
When this flag is used with DRAG_FLAG_GLOBAL_URI_READ
and/or DRAG_FLAG_GLOBAL_URI_WRITE
, the URI permission grant can be persisted across device
reboots until explicitly revoked with
Context.revokeUriPermission(Uri, int)
Context.revokeUriPermission}.
Constant Value: 64 (0x00000040)
DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION
public static final int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION
When this flag is used with DRAG_FLAG_GLOBAL_URI_READ
and/or DRAG_FLAG_GLOBAL_URI_WRITE
, the URI permission grant applies to any URI that is a prefix
match against the original granted URI.
See also:
Constant Value: 128 (0x00000080)
DRAG_FLAG_GLOBAL_SAME_APPLICATION
public static final int DRAG_FLAG_GLOBAL_SAME_APPLICATION
Flag indicating that a drag can cross window boundaries (within the same application). When
startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)
is called
with this flag set, only visible windows belonging to the same application (ie. share the
same UID) with targetSdkVersion >= API 24
will be
able to participate in the drag operation and receive the dragged content.
If both DRAG_FLAG_GLOBAL_SAME_APPLICATION and DRAG_FLAG_GLOBAL are set, then
DRAG_FLAG_GLOBAL_SAME_APPLICATION takes precedence and the drag will only go to visible
windows from the same application.
Constant Value: 4096 (0x00001000)
DRAG_FLAG_GLOBAL_URI_READ
public static final int DRAG_FLAG_GLOBAL_URI_READ
When this flag is used with DRAG_FLAG_GLOBAL
, the drag recipient will be able to
request read access to the content URI(s) contained in the ClipData
object.
See also:
Constant Value: 1 (0x00000001)
DRAG_FLAG_GLOBAL_URI_WRITE
public static final int DRAG_FLAG_GLOBAL_URI_WRITE
When this flag is used with DRAG_FLAG_GLOBAL
, the drag recipient will be able to
request write access to the content URI(s) contained in the ClipData
object.
See also:
Constant Value: 2 (0x00000002)
DRAG_FLAG_OPAQUE
public static final int DRAG_FLAG_OPAQUE
Flag indicating that the drag shadow will be opaque. When
startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)
is called
with this flag set, the drag shadow will be opaque, otherwise, it will be semitransparent.
Constant Value: 512 (0x00000200)
DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG
public static final int DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG
Flag indicating that an unhandled drag should be delegated to the system to be started if no
visible window wishes to handle the drop. When using this flag, the caller must provide
ClipData with an Item that contains an immutable IntentSender to an activity to be launched
(not a broadcast, service, etc). See
ClipData.Item.Builder#setIntentSender(IntentSender)
.
The system can decide to launch the intent or not based on factors like the current screen
size or windowing mode. If the system does not launch the intent, it will be canceled via the
normal drag and drop flow.
Constant Value: 8192 (0x00002000)
DRAWING_CACHE_QUALITY_AUTO
public static final int DRAWING_CACHE_QUALITY_AUTO
This constant was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Enables automatic quality mode for the drawing cache.
Constant Value: 0 (0x00000000)
DRAWING_CACHE_QUALITY_HIGH
public static final int DRAWING_CACHE_QUALITY_HIGH
This constant was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Enables high quality mode for the drawing cache.
Constant Value: 1048576 (0x00100000)
DRAWING_CACHE_QUALITY_LOW
public static final int DRAWING_CACHE_QUALITY_LOW
This constant was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Enables low quality mode for the drawing cache.
Constant Value: 524288 (0x00080000)
FIND_VIEWS_WITH_CONTENT_DESCRIPTION
public static final int FIND_VIEWS_WITH_CONTENT_DESCRIPTION
Find find views that contain the specified content description.
Constant Value: 2 (0x00000002)
FIND_VIEWS_WITH_TEXT
public static final int FIND_VIEWS_WITH_TEXT
Find views that render the specified text.
Constant Value: 1 (0x00000001)
FOCUSABLE
public static final int FOCUSABLE
This view wants keystrokes.
Use with setFocusable(int)
and android:focusable
.
Constant Value: 1 (0x00000001)
FOCUSABLES_ALL
public static final int FOCUSABLES_ALL
View flag indicating whether addFocusables(java.util.ArrayList, int, int)
should add all focusable Views regardless if they are focusable in touch mode.
Constant Value: 0 (0x00000000)
FOCUSABLES_TOUCH_MODE
public static final int FOCUSABLES_TOUCH_MODE
View flag indicating whether addFocusables(java.util.ArrayList, int, int)
should add only Views focusable in touch mode.
Constant Value: 1 (0x00000001)
FOCUSABLE_AUTO
public static final int FOCUSABLE_AUTO
This view determines focusability automatically. This is the default.
Use with setFocusable(int)
and android:focusable
.
Constant Value: 16 (0x00000010)
FOCUS_BACKWARD
public static final int FOCUS_BACKWARD
Use with focusSearch(int)
. Move focus to the previous selectable
item.
Constant Value: 1 (0x00000001)
FOCUS_DOWN
public static final int FOCUS_DOWN
Use with focusSearch(int)
. Move focus down.
Constant Value: 130 (0x00000082)
FOCUS_FORWARD
public static final int FOCUS_FORWARD
Use with focusSearch(int)
. Move focus to the next selectable
item.
Constant Value: 2 (0x00000002)
FOCUS_LEFT
public static final int FOCUS_LEFT
Use with focusSearch(int)
. Move focus to the left.
Constant Value: 17 (0x00000011)
FOCUS_RIGHT
public static final int FOCUS_RIGHT
Use with focusSearch(int)
. Move focus to the right.
Constant Value: 66 (0x00000042)
FOCUS_UP
public static final int FOCUS_UP
Use with focusSearch(int)
. Move focus up.
Constant Value: 33 (0x00000021)
GONE
public static final int GONE
This view is invisible, and it doesn't take any space for layout
purposes. Use with setVisibility(int)
and android:visibility
.
Constant Value: 8 (0x00000008)
HAPTIC_FEEDBACK_ENABLED
public static final int HAPTIC_FEEDBACK_ENABLED
View flag indicating whether this view should have haptic feedback enabled for events such as long presses.
Constant Value: 268435456 (0x10000000)
IMPORTANT_FOR_ACCESSIBILITY_AUTO
public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO
Automatically determine whether a view is important for accessibility.
Constant Value: 0 (0x00000000)
IMPORTANT_FOR_ACCESSIBILITY_NO
public static final int IMPORTANT_FOR_ACCESSIBILITY_NO
The view is not important for accessibility.
Constant Value: 2 (0x00000002)
IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
public static final int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
The view is not important for accessibility, nor are any of its descendant views.
Constant Value: 4 (0x00000004)
IMPORTANT_FOR_ACCESSIBILITY_YES
public static final int IMPORTANT_FOR_ACCESSIBILITY_YES
The view is important for accessibility.
Constant Value: 1 (0x00000001)
IMPORTANT_FOR_AUTOFILL_AUTO
public static final int IMPORTANT_FOR_AUTOFILL_AUTO
Automatically determine whether a view is important for autofill.
Constant Value: 0 (0x00000000)
IMPORTANT_FOR_AUTOFILL_NO
public static final int IMPORTANT_FOR_AUTOFILL_NO
The view is not important for autofill, but its children (if any) will be traversed.
Constant Value: 2 (0x00000002)
IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
public static final int IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
The view is not important for autofill, and its children (if any) will not be traversed.
Constant Value: 8 (0x00000008)
IMPORTANT_FOR_AUTOFILL_YES
public static final int IMPORTANT_FOR_AUTOFILL_YES
The view is important for autofill, and its children (if any) will be traversed.
Constant Value: 1 (0x00000001)
IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS
public static final int IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS
The view is important for autofill, but its children (if any) will not be traversed.
Constant Value: 4 (0x00000004)
IMPORTANT_FOR_CONTENT_CAPTURE_AUTO
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_AUTO
Automatically determine whether a view is important for content capture.
Constant Value: 0 (0x00000000)
IMPORTANT_FOR_CONTENT_CAPTURE_NO
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO
The view is not important for content capture, but its children (if any) will be traversed.
Constant Value: 2 (0x00000002)
IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS
The view is not important for content capture, and its children (if any) will not be traversed.
Constant Value: 8 (0x00000008)
IMPORTANT_FOR_CONTENT_CAPTURE_YES
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES
The view is important for content capture, and its children (if any) will be traversed.
Constant Value: 1 (0x00000001)
IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS
public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS
The view is important for content capture, but its children (if any) will not be traversed.
Constant Value: 4 (0x00000004)
INVISIBLE
public static final int INVISIBLE
This view is invisible, but it still takes up space for layout purposes.
Use with setVisibility(int)
and android:visibility
.
Constant Value: 4 (0x00000004)
KEEP_SCREEN_ON
public static final int KEEP_SCREEN_ON
View flag indicating that the screen should remain on while the
window containing this view is visible to the user. This effectively
takes care of automatically setting the WindowManager's
WindowManager.LayoutParams#FLAG_KEEP_SCREEN_ON
.
Constant Value: 67108864 (0x04000000)
LAYER_TYPE_HARDWARE
public static final int LAYER_TYPE_HARDWARE
Indicates that the view has a hardware layer. A hardware layer is backed
by a hardware specific texture (generally Frame Buffer Objects or FBO on
OpenGL hardware) and causes the view to be rendered using Android's hardware
rendering pipeline, but only if hardware acceleration is turned on for the
view hierarchy. When hardware acceleration is turned off, hardware layers
behave exactly as software layers
.
A hardware layer is useful to apply a specific color filter and/or blending mode and/or translucency to a view and all its children.
A hardware layer can be used to cache a complex view tree into a texture and reduce the complexity of drawing operations. For instance, when animating a complex view tree with a translation, a hardware layer can be used to render the view tree only once.
A hardware layer can also be used to increase the rendering quality when rotation transformations are applied on a view. It can also be used to prevent potential clipping issues when applying 3D transforms on a view.
Constant Value: 2 (0x00000002)
LAYER_TYPE_NONE
public static final int LAYER_TYPE_NONE
Indicates that the view does not have a layer.
See also:
Constant Value: 0 (0x00000000)
LAYER_TYPE_SOFTWARE
public static final int LAYER_TYPE_SOFTWARE
Indicates that the view has a software layer. A software layer is backed by a bitmap and causes the view to be rendered using Android's software rendering pipeline, even if hardware acceleration is enabled.
Software layers have various usages:
When the application is not using hardware acceleration, a software layer is useful to apply a specific color filter and/or blending mode and/or translucency to a view and all its children.
When the application is using hardware acceleration, a software layer is useful to render drawing primitives not supported by the hardware accelerated pipeline. It can also be used to cache a complex view tree into a texture and reduce the complexity of drawing operations. For instance, when animating a complex view tree with a translation, a software layer can be used to render the view tree only once.
Software layers should be avoided when the affected view tree updates often. Every update will require to re-render the software layer, which can potentially be slow (particularly when hardware acceleration is turned on since the layer will have to be uploaded into a hardware texture after every update.)
Constant Value: 1 (0x00000001)
LAYOUT_DIRECTION_INHERIT
public static final int LAYOUT_DIRECTION_INHERIT
Horizontal layout direction of this view is inherited from its parent.
Use with setLayoutDirection(int)
.
Constant Value: 2 (0x00000002)
LAYOUT_DIRECTION_LOCALE
public static final int LAYOUT_DIRECTION_LOCALE
Horizontal layout direction of this view is from deduced from the default language
script for the locale. Use with setLayoutDirection(int)
.
Constant Value: 3 (0x00000003)
LAYOUT_DIRECTION_LTR
public static final int LAYOUT_DIRECTION_LTR
Horizontal layout direction of this view is from Left to Right.
Use with setLayoutDirection(int)
.
Constant Value: 0 (0x00000000)
LAYOUT_DIRECTION_RTL
public static final int LAYOUT_DIRECTION_RTL
Horizontal layout direction of this view is from Right to Left.
Use with setLayoutDirection(int)
.
Constant Value: 1 (0x00000001)
MEASURED_HEIGHT_STATE_SHIFT
public static final int MEASURED_HEIGHT_STATE_SHIFT
Bit shift of MEASURED_STATE_MASK
to get to the height bits
for functions that combine both width and height into a single int,
such as getMeasuredState()
and the childState argument of
resolveSizeAndState(int, int, int)
.
Constant Value: 16 (0x00000010)
MEASURED_SIZE_MASK
public static final int MEASURED_SIZE_MASK
Bits of getMeasuredWidthAndState()
and
getMeasuredWidthAndState()
that provide the actual measured size.
Constant Value: 16777215 (0x00ffffff)
MEASURED_STATE_MASK
public static final int MEASURED_STATE_MASK
Bits of getMeasuredWidthAndState()
and
getMeasuredWidthAndState()
that provide the additional state bits.
Constant Value: -16777216 (0xff000000)
MEASURED_STATE_TOO_SMALL
public static final int MEASURED_STATE_TOO_SMALL
Bit of getMeasuredWidthAndState()
and
getMeasuredWidthAndState()
that indicates the measured size
is smaller that the space the view would like to have.
Constant Value: 16777216 (0x01000000)
NOT_FOCUSABLE
public static final int NOT_FOCUSABLE
This view does not want keystrokes.
Use with setFocusable(int)
and android:focusable
.
Constant Value: 0 (0x00000000)
NO_ID
public static final int NO_ID
Used to mark a View that has no ID.
Constant Value: -1 (0xffffffff)
OVER_SCROLL_ALWAYS
public static final int OVER_SCROLL_ALWAYS
Always allow a user to over-scroll this view, provided it is a view that can scroll.
Constant Value: 0 (0x00000000)
OVER_SCROLL_IF_CONTENT_SCROLLS
public static final int OVER_SCROLL_IF_CONTENT_SCROLLS
Allow a user to over-scroll this view only if the content is large enough to meaningfully scroll, provided it is a view that can scroll.
Constant Value: 1 (0x00000001)
OVER_SCROLL_NEVER
public static final int OVER_SCROLL_NEVER
Never allow a user to over-scroll this view.
Constant Value: 2 (0x00000002)
REQUESTED_FRAME_RATE_CATEGORY_DEFAULT
public static final float REQUESTED_FRAME_RATE_CATEGORY_DEFAULT
Constant Value: NaN
REQUESTED_FRAME_RATE_CATEGORY_HIGH
public static final float REQUESTED_FRAME_RATE_CATEGORY_HIGH
Constant Value: -4.0
REQUESTED_FRAME_RATE_CATEGORY_LOW
public static final float REQUESTED_FRAME_RATE_CATEGORY_LOW
Constant Value: -2.0
REQUESTED_FRAME_RATE_CATEGORY_NORMAL
public static final float REQUESTED_FRAME_RATE_CATEGORY_NORMAL
Constant Value: -3.0
REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE
public static final float REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE
Constant Value: -1.0
SCREEN_STATE_OFF
public static final int SCREEN_STATE_OFF
Indicates that the screen has changed state and is now off.
See also:
Constant Value: 0 (0x00000000)
SCREEN_STATE_ON
public static final int SCREEN_STATE_ON
Indicates that the screen has changed state and is now on.
See also:
Constant Value: 1 (0x00000001)
SCROLLBARS_INSIDE_INSET
public static final int SCROLLBARS_INSIDE_INSET
The scrollbar style to display the scrollbars inside the padded area, increasing the padding of the view. The scrollbars will not overlap the content area of the view.
Constant Value: 16777216 (0x01000000)
SCROLLBARS_INSIDE_OVERLAY
public static final int SCROLLBARS_INSIDE_OVERLAY
The scrollbar style to display the scrollbars inside the content area, without increasing the padding. The scrollbars will be overlaid with translucency on the view's content.
Constant Value: 0 (0x00000000)
SCROLLBARS_OUTSIDE_INSET
public static final int SCROLLBARS_OUTSIDE_INSET
The scrollbar style to display the scrollbars at the edge of the view, increasing the padding of the view. The scrollbars will only overlap the background, if any.
Constant Value: 50331648 (0x03000000)
SCROLLBARS_OUTSIDE_OVERLAY
public static final int SCROLLBARS_OUTSIDE_OVERLAY
The scrollbar style to display the scrollbars at the edge of the view, without increasing the padding. The scrollbars will be overlaid with translucency.
Constant Value: 33554432 (0x02000000)
SCROLLBAR_POSITION_DEFAULT
public static final int SCROLLBAR_POSITION_DEFAULT
Position the scroll bar at the default position as determined by the system.
Constant Value: 0 (0x00000000)
SCROLLBAR_POSITION_LEFT
public static final int SCROLLBAR_POSITION_LEFT
Position the scroll bar along the left edge.
Constant Value: 1 (0x00000001)
SCROLLBAR_POSITION_RIGHT
public static final int SCROLLBAR_POSITION_RIGHT
Position the scroll bar along the right edge.
Constant Value: 2 (0x00000002)
SCROLL_AXIS_HORIZONTAL
public static final int SCROLL_AXIS_HORIZONTAL
Indicates scrolling along the horizontal axis.
Constant Value: 1 (0x00000001)
SCROLL_AXIS_NONE
public static final int SCROLL_AXIS_NONE
Indicates no axis of view scrolling.
Constant Value: 0 (0x00000000)
SCROLL_AXIS_VERTICAL
public static final int SCROLL_AXIS_VERTICAL
Indicates scrolling along the vertical axis.
Constant Value: 2 (0x00000002)
SCROLL_CAPTURE_HINT_AUTO
public static final int SCROLL_CAPTURE_HINT_AUTO
The content of this view will be considered for scroll capture if scrolling is possible.
Constant Value: 0 (0x00000000)
SCROLL_CAPTURE_HINT_EXCLUDE
public static final int SCROLL_CAPTURE_HINT_EXCLUDE
Explicitly exclude this view as a potential scroll capture target. The system will not
consider it. Mutually exclusive with SCROLL_CAPTURE_HINT_INCLUDE
, which this flag
takes precedence over.
Constant Value: 1 (0x00000001)
SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS
public static final int SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS
Explicitly exclude all children of this view as potential scroll capture targets. This view
is unaffected. Note: Excluded children are not considered, regardless of SCROLL_CAPTURE_HINT_INCLUDE
.
Constant Value: 4 (0x00000004)
SCROLL_CAPTURE_HINT_INCLUDE
public static final int SCROLL_CAPTURE_HINT_INCLUDE
Explicitly include this view as a potential scroll capture target. When locating a scroll
capture target, this view will be prioritized before others without this flag. Mutually
exclusive with SCROLL_CAPTURE_HINT_EXCLUDE
, which takes precedence.
Constant Value: 2 (0x00000002)
SCROLL_INDICATOR_BOTTOM
public static final int SCROLL_INDICATOR_BOTTOM
Scroll indicator direction for the bottom edge of the view.
Constant Value: 2 (0x00000002)
SCROLL_INDICATOR_END
public static final int SCROLL_INDICATOR_END
Scroll indicator direction for the ending edge of the view.
Resolved according to the view's layout direction, see
getLayoutDirection()
for more information.
Constant Value: 32 (0x00000020)
SCROLL_INDICATOR_LEFT
public static final int SCROLL_INDICATOR_LEFT
Scroll indicator direction for the left edge of the view.
Constant Value: 4 (0x00000004)
SCROLL_INDICATOR_RIGHT
public static final int SCROLL_INDICATOR_RIGHT
Scroll indicator direction for the right edge of the view.
Constant Value: 8 (0x00000008)
SCROLL_INDICATOR_START
public static final int SCROLL_INDICATOR_START
Scroll indicator direction for the starting edge of the view.
Resolved according to the view's layout direction, see
getLayoutDirection()
for more information.
Constant Value: 16 (0x00000010)
SCROLL_INDICATOR_TOP
public static final int SCROLL_INDICATOR_TOP
Scroll indicator direction for the top edge of the view.
Constant Value: 1 (0x00000001)
SOUND_EFFECTS_ENABLED
public static final int SOUND_EFFECTS_ENABLED
View flag indicating whether this view should have sound effects enabled for events such as clicking and touching.
Constant Value: 134217728 (0x08000000)
STATUS_BAR_HIDDEN
public static final int STATUS_BAR_HIDDEN
This constant was deprecated
in API level 15.
Use SYSTEM_UI_FLAG_LOW_PROFILE
instead.
Constant Value: 1 (0x00000001)
STATUS_BAR_VISIBLE
public static final int STATUS_BAR_VISIBLE
This constant was deprecated
in API level 15.
Use SYSTEM_UI_FLAG_VISIBLE
instead.
Constant Value: 0 (0x00000000)
SYSTEM_UI_FLAG_FULLSCREEN
public static final int SYSTEM_UI_FLAG_FULLSCREEN
This constant was deprecated
in API level 30.
Use WindowInsetsController#hide(int)
with Type#statusBars()
instead.
Flag for setSystemUiVisibility(int)
: View has requested to go
into the normal fullscreen mode so that its content can take over the screen
while still allowing the user to interact with the application.
This has the same visual effect as
WindowManager.LayoutParams.FLAG_FULLSCREEN
,
meaning that non-critical screen decorations (such as the status bar) will be
hidden while the user is in the View's window, focusing the experience on
that content. Unlike the window flag, if you are using ActionBar in
overlay mode with Window.FEATURE_ACTION_BAR_OVERLAY
, then enabling this flag will also
hide the action bar.
This approach to going fullscreen is best used over the window flag when
it is a transient state -- that is, the application does this at certain
points in its user interaction where it wants to allow the user to focus
on content, but not as a continuous state. For situations where the application
would like to simply stay full screen the entire time (such as a game that
wants to take over the screen), the
window flag
is usually a better approach. The state set here will be removed by the system
in various situations (such as the user moving to another application) like
the other system UI states.
When using this flag, the application should provide some easy facility for the user to go out of it. A common example would be in an e-book reader, where tapping on the screen brings back whatever screen and UI decorations that had been hidden while the user was immersed in reading the book.
See also:
Constant Value: 4 (0x00000004)
SYSTEM_UI_FLAG_HIDE_NAVIGATION
public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION
This constant was deprecated
in API level 30.
Use WindowInsetsController#hide(int)
with Type#navigationBars()
instead.
Flag for setSystemUiVisibility(int)
: View has requested that the
system navigation be temporarily hidden.
This is an even less obtrusive state than that called for by
SYSTEM_UI_FLAG_LOW_PROFILE
; on devices that draw essential navigation controls
(Home, Back, and the like) on screen, SYSTEM_UI_FLAG_HIDE_NAVIGATION
will cause
those to disappear. This is useful (in conjunction with the
FLAG_FULLSCREEN
and
FLAG_LAYOUT_IN_SCREEN
window flags) for displaying content using every last pixel on the display.
There is a limitation: because navigation controls are so important, the least user
interaction will cause them to reappear immediately. When this happens, both
this flag and SYSTEM_UI_FLAG_FULLSCREEN
will be cleared automatically,
so that both elements reappear at the same time.
See also:
Constant Value: 2 (0x00000002)
SYSTEM_UI_FLAG_IMMERSIVE
public static final int SYSTEM_UI_FLAG_IMMERSIVE
This constant was deprecated
in API level 30.
Use WindowInsetsController#BEHAVIOR_DEFAULT
instead.
Flag for setSystemUiVisibility(int)
: View would like to remain interactive when
hiding the navigation bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION
. If this flag is
not set, SYSTEM_UI_FLAG_HIDE_NAVIGATION
will be force cleared by the system on any
user interaction.
Since this flag is a modifier for SYSTEM_UI_FLAG_HIDE_NAVIGATION
, it only
has an effect when used in combination with that flag.
Constant Value: 2048 (0x00000800)
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
public static final int SYSTEM_UI_FLAG_IMMERSIVE_STICKY
This constant was deprecated
in API level 30.
Use WindowInsetsController#BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
instead.
Flag for setSystemUiVisibility(int)
: View would like to remain interactive when
hiding the status bar with SYSTEM_UI_FLAG_FULLSCREEN
and/or hiding the navigation
bar with SYSTEM_UI_FLAG_HIDE_NAVIGATION
. Use this flag to create an immersive
experience while also hiding the system bars. If this flag is not set,
SYSTEM_UI_FLAG_HIDE_NAVIGATION
will be force cleared by the system on any user
interaction, and SYSTEM_UI_FLAG_FULLSCREEN
will be force-cleared by the system
if the user swipes from the top of the screen.
When system bars are hidden in immersive mode, they can be revealed temporarily with system gestures, such as swiping from the top of the screen. These transient system bars will overlay app's content, may have some degree of transparency, and will automatically hide after a short timeout.
Since this flag is a modifier for SYSTEM_UI_FLAG_FULLSCREEN
and
SYSTEM_UI_FLAG_HIDE_NAVIGATION
, it only has an effect when used in combination
with one or both of those flags.
Constant Value: 4096 (0x00001000)
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
public static final int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
This constant was deprecated
in API level 30.
For floating windows, use LayoutParams#setFitInsetsTypes(int)
with
Type#statusBars()
()}. For non-floating windows that fill the screen, call
Window#setDecorFitsSystemWindows(boolean)
with false
.
Flag for setSystemUiVisibility(int)
: View would like its window
to be laid out as if it has requested
SYSTEM_UI_FLAG_FULLSCREEN
, even if it currently hasn't. This
allows it to avoid artifacts when switching in and out of that mode, at
the expense that some of its user interface may be covered by screen
decorations when they are shown. You can perform layout of your inner
UI elements to account for non-fullscreen system UI through the
fitSystemWindows(android.graphics.Rect)
method.
Note: on displays that have a DisplayCutout
, the window may still be placed
differently than if SYSTEM_UI_FLAG_FULLSCREEN
was set, if the
window's layoutInDisplayCutoutMode
is
LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT
. To avoid this, use either of the other modes.
See also:
Constant Value: 1024 (0x00000400)
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
public static final int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
This constant was deprecated
in API level 30.
For floating windows, use LayoutParams#setFitInsetsTypes(int)
with
Type#navigationBars()
. For non-floating windows that fill the screen, call
Window#setDecorFitsSystemWindows(boolean)
with false
.
Flag for setSystemUiVisibility(int)
: View would like its window
to be laid out as if it has requested
SYSTEM_UI_FLAG_HIDE_NAVIGATION
, even if it currently hasn't. This
allows it to avoid artifacts when switching in and out of that mode, at
the expense that some of its user interface may be covered by screen
decorations when they are shown. You can perform layout of your inner
UI elements to account for the navigation system UI through the
fitSystemWindows(android.graphics.Rect)
method.
Constant Value: 512 (0x00000200)
SYSTEM_UI_FLAG_LAYOUT_STABLE
public static final int SYSTEM_UI_FLAG_LAYOUT_STABLE
This constant was deprecated
in API level 30.
Use WindowInsets#getInsetsIgnoringVisibility(int)
instead to retrieve
insets that don't change when system bars change visibility state.
Flag for setSystemUiVisibility(int)
: When using other layout
flags, we would like a stable view of the content insets given to
fitSystemWindows(android.graphics.Rect)
. This means that the insets seen there
will always represent the worst case that the application can expect
as a continuous state. In the stock Android UI this is the space for
the system bar, nav bar, and status bar, but not more transient elements
such as an input method.
The stable layout your UI sees is based on the system UI modes you can
switch to. That is, if you specify SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
then you will get a stable layout for changes of the
SYSTEM_UI_FLAG_FULLSCREEN
mode; if you specify
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
and
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
, then you can transition
to SYSTEM_UI_FLAG_FULLSCREEN
and SYSTEM_UI_FLAG_HIDE_NAVIGATION
with a stable layout. (Note that you should avoid using
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
by itself.)
If you have set the window flag WindowManager.LayoutParams#FLAG_FULLSCREEN
to hide the status bar (instead of using SYSTEM_UI_FLAG_FULLSCREEN
),
then a hidden status bar will be considered a "stable" state for purposes
here. This allows your UI to continually hide the status bar, while still
using the system UI flags to hide the action bar while still retaining
a stable layout. Note that changing the window fullscreen flag will never
provide a stable layout for a clean transition.
If you are using ActionBar in
overlay mode with Window.FEATURE_ACTION_BAR_OVERLAY
, this flag will also impact the
insets it adds to those given to the application.
Constant Value: 256 (0x00000100)
SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
public static final int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
This constant was deprecated
in API level 30.
Use WindowInsetsController#APPEARANCE_LIGHT_NAVIGATION_BARS
instead.
Flag for setSystemUiVisibility(int)
: Requests the navigation bar to draw in a mode
that is compatible with light navigation bar backgrounds.
For this to take effect, the window must request
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
but not
FLAG_TRANSLUCENT_NAVIGATION
.
See also:
Constant Value: 16 (0x00000010)
SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
public static final int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
This constant was deprecated
in API level 30.
Use WindowInsetsController#APPEARANCE_LIGHT_STATUS_BARS
instead.
Flag for setSystemUiVisibility(int)
: Requests the status bar to draw in a mode that
is compatible with light status bar backgrounds.
For this to take effect, the window must request
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
but not
FLAG_TRANSLUCENT_STATUS
.
See also:
Constant Value: 8192 (0x00002000)
SYSTEM_UI_FLAG_LOW_PROFILE
public static final int SYSTEM_UI_FLAG_LOW_PROFILE
This constant was deprecated
in API level 30.
Low profile mode is deprecated. Hide the system bars instead if the application
needs to be in a unobtrusive mode. Use WindowInsetsController#hide(int)
with
Type#systemBars()
.
Flag for setSystemUiVisibility(int)
: View has requested the
system UI to enter an unobtrusive "low profile" mode.
This is for use in games, book readers, video players, or any other "immersive" application where the usual system chrome is deemed too distracting.
In low profile mode, the status bar and/or navigation icons may dim.
See also:
Constant Value: 1 (0x00000001)
SYSTEM_UI_FLAG_VISIBLE
public static final int SYSTEM_UI_FLAG_VISIBLE
This constant was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use WindowInsetsController
instead.
Special constant for setSystemUiVisibility(int)
: View has
requested the system UI (status bar) to be visible (the default).
See also:
Constant Value: 0 (0x00000000)
SYSTEM_UI_LAYOUT_FLAGS
public static final int SYSTEM_UI_LAYOUT_FLAGS
This constant was deprecated
in API level 30.
System UI layout flags are deprecated.
Flags that can impact the layout in relation to system UI.
Constant Value: 1536 (0x00000600)
TEXT_ALIGNMENT_CENTER
public static final int TEXT_ALIGNMENT_CENTER
Center the paragraph, e.g. ALIGN_CENTER.
Use with setTextAlignment(int)
Constant Value: 4 (0x00000004)
TEXT_ALIGNMENT_GRAVITY
public static final int TEXT_ALIGNMENT_GRAVITY
Default for the root view. The gravity determines the text alignment, ALIGN_NORMAL,
ALIGN_CENTER, or ALIGN_OPPOSITE, which are relative to each paragraph's text direction.
Use with setTextAlignment(int)
Constant Value: 1 (0x00000001)
TEXT_ALIGNMENT_INHERIT
public static final int TEXT_ALIGNMENT_INHERIT
Default text alignment. The text alignment of this View is inherited from its parent.
Use with setTextAlignment(int)
Constant Value: 0 (0x00000000)
TEXT_ALIGNMENT_TEXT_END
public static final int TEXT_ALIGNMENT_TEXT_END
Align to the end of the paragraph, e.g. ALIGN_OPPOSITE.
Use with setTextAlignment(int)
Constant Value: 3 (0x00000003)
TEXT_ALIGNMENT_TEXT_START
public static final int TEXT_ALIGNMENT_TEXT_START
Align to the start of the paragraph, e.g. ALIGN_NORMAL.
Use with setTextAlignment(int)
Constant Value: 2 (0x00000002)
TEXT_ALIGNMENT_VIEW_END
public static final int TEXT_ALIGNMENT_VIEW_END
Align to the end of the view, which is ALIGN_RIGHT if the view's resolved
layoutDirection is LTR, and ALIGN_LEFT otherwise.
Use with setTextAlignment(int)
Constant Value: 6 (0x00000006)
TEXT_ALIGNMENT_VIEW_START
public static final int TEXT_ALIGNMENT_VIEW_START
Align to the start of the view, which is ALIGN_LEFT if the view's resolved
layoutDirection is LTR, and ALIGN_RIGHT otherwise.
Use with setTextAlignment(int)
Constant Value: 5 (0x00000005)
TEXT_DIRECTION_ANY_RTL
public static final int TEXT_DIRECTION_ANY_RTL
Text direction is using "any-RTL" algorithm. 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.
Constant Value: 2 (0x00000002)
TEXT_DIRECTION_FIRST_STRONG
public static final int TEXT_DIRECTION_FIRST_STRONG
Text direction is using "first strong algorithm". 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.
Constant Value: 1 (0x00000001)
TEXT_DIRECTION_FIRST_STRONG_LTR
public static final int TEXT_DIRECTION_FIRST_STRONG_LTR
Text direction is using "first strong algorithm". The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is LTR.
Constant Value: 6 (0x00000006)
TEXT_DIRECTION_FIRST_STRONG_RTL
public static final int TEXT_DIRECTION_FIRST_STRONG_RTL
Text direction is using "first strong algorithm". The first strong directional character determines the paragraph direction. If there is no strong directional character, the paragraph direction is RTL.
Constant Value: 7 (0x00000007)
TEXT_DIRECTION_INHERIT
public static final int TEXT_DIRECTION_INHERIT
Text direction is inherited through ViewGroup
Constant Value: 0 (0x00000000)
TEXT_DIRECTION_LOCALE
public static final int TEXT_DIRECTION_LOCALE
Text direction is coming from the system Locale.
Constant Value: 5 (0x00000005)
TEXT_DIRECTION_LTR
public static final int TEXT_DIRECTION_LTR
Text direction is forced to LTR.
Constant Value: 3 (0x00000003)
TEXT_DIRECTION_RTL
public static final int TEXT_DIRECTION_RTL
Text direction is forced to RTL.
Constant Value: 4 (0x00000004)
VIEW_LOG_TAG
protected static final String VIEW_LOG_TAG
The logging tag used by this class with android.util.Log.
Constant Value: "View"
VISIBLE
public static final int VISIBLE
This view is visible.
Use with setVisibility(int)
and android:visibility
.
Constant Value: 0 (0x00000000)
Fields
ALPHA
public static final Property<View, Float> ALPHA
A Property wrapper around the alpha
functionality handled by the
View#setAlpha(float)
and View#getAlpha()
methods.
EMPTY_STATE_SET
protected static final int[] EMPTY_STATE_SET
Indicates the view has no states set. States are used with
Drawable
to change the drawing of the
view depending on its state.
See also:
ENABLED_FOCUSED_SELECTED_STATE_SET
protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET
Indicates the view is enabled, focused and selected.
ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled, focused, selected and its window has the focus.
ENABLED_FOCUSED_STATE_SET
protected static final int[] ENABLED_FOCUSED_STATE_SET
Indicates the view is enabled and has the focus.
See also:
ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
protected static final int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled, focused and its window has the focus.
ENABLED_SELECTED_STATE_SET
protected static final int[] ENABLED_SELECTED_STATE_SET
Indicates the view is enabled and selected.
See also:
ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled, selected and its window has the focus.
ENABLED_STATE_SET
protected static final int[] ENABLED_STATE_SET
Indicates the view is enabled. States are used with
Drawable
to change the drawing of the
view depending on its state.
See also:
ENABLED_WINDOW_FOCUSED_STATE_SET
protected static final int[] ENABLED_WINDOW_FOCUSED_STATE_SET
Indicates the view is enabled and that its window has focus.
FOCUSED_SELECTED_STATE_SET
protected static final int[] FOCUSED_SELECTED_STATE_SET
Indicates the view is focused and selected.
See also:
FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is focused, selected and its window has the focus.
FOCUSED_STATE_SET
protected static final int[] FOCUSED_STATE_SET
Indicates the view is focused. States are used with
Drawable
to change the drawing of the
view depending on its state.
See also:
FOCUSED_WINDOW_FOCUSED_STATE_SET
protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view has the focus and that its window has the focus.
PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET
protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET
Indicates the view is pressed, enabled, focused and selected.
PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled, focused, selected and its window has the focus.
PRESSED_ENABLED_FOCUSED_STATE_SET
protected static final int[] PRESSED_ENABLED_FOCUSED_STATE_SET
Indicates the view is pressed, enabled and focused.
PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled, focused and its window has the focus.
PRESSED_ENABLED_SELECTED_STATE_SET
protected static final int[] PRESSED_ENABLED_SELECTED_STATE_SET
Indicates the view is pressed, enabled and selected.
PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled, selected and its window has the focus.
PRESSED_ENABLED_STATE_SET
protected static final int[] PRESSED_ENABLED_STATE_SET
Indicates the view is pressed and enabled.
See also:
PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, enabled and its window has the focus.
PRESSED_FOCUSED_SELECTED_STATE_SET
protected static final int[] PRESSED_FOCUSED_SELECTED_STATE_SET
Indicates the view is pressed, focused and selected.
PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, focused, selected and its window has the focus.
PRESSED_FOCUSED_STATE_SET
protected static final int[] PRESSED_FOCUSED_STATE_SET
Indicates the view is pressed and focused.
See also:
PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, focused and its window has the focus.
PRESSED_SELECTED_STATE_SET
protected static final int[] PRESSED_SELECTED_STATE_SET
Indicates the view is pressed and selected.
See also:
PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed, selected and its window has the focus.
PRESSED_STATE_SET
protected static final int[] PRESSED_STATE_SET
Indicates the view is pressed. States are used with
Drawable
to change the drawing of the
view depending on its state.
See also:
PRESSED_WINDOW_FOCUSED_STATE_SET
protected static final int[] PRESSED_WINDOW_FOCUSED_STATE_SET
Indicates the view is pressed and its window has the focus.
ROTATION
public static final Property<View, Float> ROTATION
A Property wrapper around the rotation
functionality handled by the
View#setRotation(float)
and View#getRotation()
methods.
ROTATION_X
public static final Property<View, Float> ROTATION_X
A Property wrapper around the rotationX
functionality handled by the
View#setRotationX(float)
and View#getRotationX()
methods.
ROTATION_Y
public static final Property<View, Float> ROTATION_Y
A Property wrapper around the rotationY
functionality handled by the
View#setRotationY(float)
and View#getRotationY()
methods.
SCALE_X
public static final Property<View, Float> SCALE_X
A Property wrapper around the scaleX
functionality handled by the
View#setScaleX(float)
and View#getScaleX()
methods.
SCALE_Y
public static final Property<View, Float> SCALE_Y
A Property wrapper around the scaleY
functionality handled by the
View#setScaleY(float)
and View#getScaleY()
methods.
SELECTED_STATE_SET
protected static final int[] SELECTED_STATE_SET
Indicates the view is selected. States are used with
Drawable
to change the drawing of the
view depending on its state.
See also:
SELECTED_WINDOW_FOCUSED_STATE_SET
protected static final int[] SELECTED_WINDOW_FOCUSED_STATE_SET
Indicates the view is selected and that its window has the focus.
TRANSLATION_X
public static final Property<View, Float> TRANSLATION_X
A Property wrapper around the translationX
functionality handled by the
View#setTranslationX(float)
and View#getTranslationX()
methods.
TRANSLATION_Y
public static final Property<View, Float> TRANSLATION_Y
A Property wrapper around the translationY
functionality handled by the
View#setTranslationY(float)
and View#getTranslationY()
methods.
TRANSLATION_Z
public static final Property<View, Float> TRANSLATION_Z
A Property wrapper around the translationZ
functionality handled by the
View#setTranslationZ(float)
and View#getTranslationZ()
methods.
WINDOW_FOCUSED_STATE_SET
protected static final int[] WINDOW_FOCUSED_STATE_SET
Indicates the view's window has focus. States are used with
Drawable
to change the drawing of the
view depending on its state.
See also:
X
public static final Property<View, Float> X
A Property wrapper around the x
functionality handled by the
View#setX(float)
and View#getX()
methods.
Y
public static final Property<View, Float> Y
A Property wrapper around the y
functionality handled by the
View#setY(float)
and View#getY()
methods.
Z
public static final Property<View, Float> Z
A Property wrapper around the z
functionality handled by the
View#setZ(float)
and View#getZ()
methods.
Public constructors
View
public View (Context context)
Simple constructor to use when creating a view from code.
Parameters | |
---|---|
context |
Context : The Context the view is running in, through which it can
access the current theme, resources, etc. |
View
public View (Context context, AttributeSet attrs)
Constructor that is called when inflating a view from XML. This is called when a view is being constructed from an XML file, supplying attributes that were specified in the XML file. This version uses a default style of 0, so the only attribute values applied are those in the Context's Theme and the given AttributeSet.
The method onFinishInflate() will be called after all children have been added.
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.
This value may be null . |
See also:
View
public View (Context context, AttributeSet attrs, int defStyleAttr)
Perform inflation from XML and apply a class-specific base style from a
theme attribute. This constructor of View allows subclasses to use their
own base style when they are inflating. For example, a Button class's
constructor would call this version of the super class constructor and
supply R.attr.buttonStyle
for defStyleAttr; this
allows the theme's button style to modify all of the base view attributes
(in particular its background) as well as the Button class's attributes.
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.
This value may be null . |
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. |
See also:
View
public View (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
Perform inflation from XML and apply a class-specific base style from a theme attribute or style resource. This constructor of View allows subclasses to use their own base style when they are inflating.
When determining the final value of a particular attribute, there are four inputs that come into play:
- Any attribute values in the given AttributeSet.
- The style resource specified in the AttributeSet (named "style").
- The default style specified by defStyleAttr.
- The default style specified by defStyleRes.
- The base values in this theme.
Each of these inputs is considered in-order, with the first listed taking
precedence over the following ones. In other words, if in the
AttributeSet you have supplied <Button * textColor="#ff000000">
, then the button's text will always be black, regardless of
what is specified in any of the styles.
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.
This value may be null . |
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. |
See also:
Public methods
addChildrenForAccessibility
public void addChildrenForAccessibility (ArrayList<View> outChildren)
Adds the children of this View relevant for accessibility to the given list as output. Since some Views are not important for accessibility the added child views are not necessarily direct children of this view, rather they are the first level of descendants important for accessibility.
Parameters | |
---|---|
outChildren |
ArrayList : The output list that will receive children for accessibility. |
addExtraDataToAccessibilityNodeInfo
public void addExtraDataToAccessibilityNodeInfo (AccessibilityNodeInfo info, String extraDataKey, Bundle arguments)
Adds extra data to an AccessibilityNodeInfo
based on an explicit request for the
additional data.
This method only needs overloading if the node is marked as having extra data available.
Parameters | |
---|---|
info |
AccessibilityNodeInfo : The info to which to add the extra data. Never null . |
extraDataKey |
String : A key specifying the type of extra data to add to the info. The
extra data should be added to the Bundle returned by
the info's AccessibilityNodeInfo#getExtras method. Never
null . |
arguments |
Bundle : A Bundle holding any arguments relevant for this request. May be
null if the service provided no arguments. |
addFocusables
public void addFocusables (ArrayList<View> views, int direction)
Add any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views. If we are in touch mode, only add views that are also focusable in touch mode.
Parameters | |
---|---|
views |
ArrayList : Focusable views found so far |
direction |
int : The direction of the focus
Value is FOCUS_BACKWARD , FOCUS_FORWARD , FOCUS_LEFT , FOCUS_UP , FOCUS_RIGHT , or FOCUS_DOWN |
addFocusables
public void addFocusables (ArrayList<View> views, int direction, int focusableMode)
Adds any focusable views that are descendants of this view (possibly including this view if it is focusable itself) to views. This method adds all focusable views regardless if we are in touch mode or only views focusable in touch mode if we are in touch mode or only views that can take accessibility focus if accessibility is enabled depending on the focusable mode parameter.
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.
Value is FOCUS_BACKWARD , FOCUS_FORWARD , FOCUS_LEFT , FOCUS_UP , FOCUS_RIGHT , or FOCUS_DOWN |
focusableMode |
int : The type of focusables to be added.
Value is either 0 or a combination of FOCUSABLES_ALL , and FOCUSABLES_TOUCH_MODE |
See also:
addKeyboardNavigationClusters
public void addKeyboardNavigationClusters (Collection<View> views, int direction)
Adds any keyboard navigation cluster roots that are descendants of this view (possibly including this view if it is a cluster root itself) to views.
Parameters | |
---|---|
views |
Collection : Keyboard navigation cluster roots found so far
This value cannot be null . |
direction |
int : Direction to look |
addOnAttachStateChangeListener
public void addOnAttachStateChangeListener (View.OnAttachStateChangeListener listener)
Add a listener for attach state changes.
This listener will be called whenever this view is attached or detached
from a window. Remove the listener using
removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener)
.
Parameters | |
---|---|
listener |
View.OnAttachStateChangeListener : Listener to attach |
addOnLayoutChangeListener
public void addOnLayoutChangeListener (View.OnLayoutChangeListener listener)
Add a listener that will be called when the bounds of the view change due to layout processing.
Parameters | |
---|---|
listener |
View.OnLayoutChangeListener : The listener that will be called when layout bounds change. |
addOnUnhandledKeyEventListener
public void addOnUnhandledKeyEventListener (View.OnUnhandledKeyEventListener listener)
Adds a listener which will receive unhandled KeyEvent
s. This must be called on the
UI thread.
Parameters | |
---|---|
listener |
View.OnUnhandledKeyEventListener : a receiver of unhandled KeyEvent s. |
addTouchables
public void addTouchables (ArrayList<View> views)
Add any touchable views that are descendants of this view (possibly including this view if it is touchable itself) to views.
Parameters | |
---|---|
views |
ArrayList : Touchable views found so far |
animate
public ViewPropertyAnimator animate ()
This method returns a ViewPropertyAnimator object, which can be used to animate specific properties on this View.
Returns | |
---|---|
ViewPropertyAnimator |
ViewPropertyAnimator The ViewPropertyAnimator associated with this View. |
announceForAccessibility
public void announceForAccessibility (CharSequence text)
Convenience method for sending a AccessibilityEvent#TYPE_ANNOUNCEMENT
AccessibilityEvent
to suggest that an accessibility service announce the
specified text to its users.
Note: The event generated with this API carries no semantic meaning, and is appropriate only in exceptional situations. Apps can generally achieve correct behavior for accessibility by accurately supplying the semantics of their UI. They should not need to specify what exactly is announced to users.
In general, only announce transitions and don't generate a confirmation message for simple
actions like a button press. Label your controls concisely and precisely instead, and for
significant UI changes like window changes, use
Activity.setTitle(CharSequence)
and
setAccessibilityPaneTitle(java.lang.CharSequence)
.
Use setAccessibilityLiveRegion(int)
to inform the user of changes to critical
views within the user interface. These should still be used sparingly as they may generate
announcements every time a View is updated.
For notifying users about errors, such as in a login screen with text that displays an
"incorrect password" notification, that view should send an AccessibilityEvent of type
AccessibilityEvent#CONTENT_CHANGE_TYPE_ERROR
and set
AccessibilityNodeInfo#setError(CharSequence)
instead. Custom widgets should expose
error-setting methods that support accessibility automatically. For example, instead of
explicitly sending this event when using a TextView, use
TextView.setError(CharSequence)
.
Use setStateDescription(java.lang.CharSequence)
to convey state changes to views within the
user interface. While a live region may send different types of events generated by the view,
state description will send AccessibilityEvent#TYPE_WINDOW_CONTENT_CHANGED
events of
type AccessibilityEvent#CONTENT_CHANGE_TYPE_STATE_DESCRIPTION
.
Parameters | |
---|---|
text |
CharSequence : The announcement text. |
autofill
public void autofill (AutofillValue value)
Automatically fills the content of this view with the value
.
Views support the Autofill Framework mainly by:
- Providing the metadata defining what the view means and how it can be autofilled.
- Implementing the methods that autofill the view.
onProvideAutofillStructure(android.view.ViewStructure, int)
is responsible for the former,
this method is responsible for latter.
This method does nothing by default, but when overridden it typically:
- Checks if the provided value matches the expected type (which is defined by
getAutofillType()
). - Checks if the view is editable - if it isn't, it should return right away.
- Call the proper getter method on
AutofillValue
to fetch the actual value. - Pass the actual value to the equivalent setter in the view.
For example, a text-field view could implement the method this way:
@Override public void autofill(AutofillValue value) { if (!value.isText() || !this.isEditable()) { return; } CharSequence text = value.getTextValue(); if (text != null) { this.setText(text); } }
If the value is updated asynchronously, the next call to
AutofillManager#notifyValueChanged(View)
must happen after the value was
changed to the autofilled value. If not, the view will not be considered autofilled.
Note: After this method is called, the value returned by
getAutofillValue()
must be equal to the value
passed to it, otherwise the
view will not be highlighted as autofilled.
Parameters | |
---|---|
value |
AutofillValue : value to be autofilled. |
autofill
public void autofill (SparseArray<AutofillValue> values)
Automatically fills the content of the virtual children within this view.
Views with virtual children support the Autofill Framework mainly by:
- Providing the metadata defining what the virtual children mean and how they can be autofilled.
- Implementing the methods that autofill the virtual children.
onProvideAutofillVirtualStructure(android.view.ViewStructure, int)
is responsible for the
former, this method is responsible for the latter - see autofill(android.view.autofill.AutofillValue)
and
onProvideAutofillVirtualStructure(android.view.ViewStructure, int)
for more info about autofill.
If a child value is updated asynchronously, the next call to
AutofillManager#notifyValueChanged(View, int, AutofillValue)
must happen
after the value was changed to the autofilled value. If not, the child will not be
considered autofilled.
Note: To indicate that a virtual view was autofilled,
?android:attr/autofilledHighlight
should be drawn over it until the data
changes.
Related XML Attributes:
Parameters | |
---|---|
values |
SparseArray : map of values to be autofilled, keyed by virtual child id.
This value cannot be null . |
bringToFront
public void bringToFront ()
Change the view's z order in the tree, so it's on top of other sibling
views. This ordering change may affect layout, if the parent container
uses an order-dependent layout scheme (e.g., LinearLayout). Prior
to Build.VERSION_CODES.KITKAT
this
method should be followed by calls to requestLayout()
and
View#invalidate()
on the view's parent to force the parent to redraw
with the new child ordering.
See also:
buildDrawingCache
public void buildDrawingCache (boolean autoScale)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Forces the drawing cache to be built if the drawing cache is invalid.
If you call buildDrawingCache()
manually without calling
setDrawingCacheEnabled(true)
, you
should cleanup the cache by calling destroyDrawingCache()
afterwards.
Note about auto scaling in compatibility mode: When auto scaling is not enabled, this method will create a bitmap of the same size as this view. Because this bitmap will be drawn scaled by the parent ViewGroup, the result on screen might show scaling artifacts. To avoid such artifacts, you should call this method by setting the auto scaling to true. Doing so, however, will generate a bitmap of a different size than the view. This implies that your application must be able to handle this size.
You should avoid calling this method when hardware acceleration is enabled. If you do not need the drawing cache bitmap, calling this method will increase memory usage and cause the view to be rendered in software once, thus negatively impacting performance.
Parameters | |
---|---|
autoScale |
boolean |
See also:
buildDrawingCache
public void buildDrawingCache ()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Calling this method is equivalent to calling buildDrawingCache(false)
.
See also:
buildLayer
public void buildLayer ()
Forces this view's layer to be created and this view to be rendered
into its layer. If this view's layer type is set to LAYER_TYPE_NONE
,
invoking this method will have no effect.
This method can for instance be used to render a view into its layer before
starting an animation. If this view is complex, rendering into the layer
before starting the animation will avoid skipping frames.
Throws | |
---|---|
IllegalStateException |
If this view is not attached to a window |
callOnClick
public boolean callOnClick ()
Directly call any attached OnClickListener. Unlike performClick()
,
this only calls the listener, and does not do any associated clicking
actions like reporting an accessibility event.
Returns | |
---|---|
boolean |
True there was an assigned OnClickListener that was called, false otherwise is returned. |
canResolveLayoutDirection
public boolean canResolveLayoutDirection ()
Check if layout direction resolution can be done.
Returns | |
---|---|
boolean |
true if layout direction resolution can be done otherwise return false. |
canResolveTextAlignment
public boolean canResolveTextAlignment ()
Check if text alignment resolution can be done.
Returns | |
---|---|
boolean |
true if text alignment resolution can be done otherwise return false. |
canResolveTextDirection
public boolean canResolveTextDirection ()
Check if text direction resolution can be done.
Returns | |
---|---|
boolean |
true if text direction resolution can be done otherwise return false. |
canScrollHorizontally
public boolean canScrollHorizontally (int direction)
Check if this view can be scrolled horizontally in a certain direction.
This is without regard to whether the view is enabled or not, or if it will scroll in response to user input or not.
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. |
canScrollVertically
public boolean canScrollVertically (int direction)
Check if this view can be scrolled vertically in a certain direction.
This is without regard to whether the view is enabled or not, or if it will scroll in response to user input or not.
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. |
cancelDragAndDrop
public final void cancelDragAndDrop ()
Cancels an ongoing drag and drop operation.
A DragEvent
object with
DragEvent.getAction()
value of
DragEvent.ACTION_DRAG_ENDED
and
DragEvent.getResult()
value of false
will be sent to every
View that received DragEvent.ACTION_DRAG_STARTED
even if they are not currently visible.
This method can be called on any View in the same window as the View on which
startDragAndDrop
was called.
cancelLongPress
public void cancelLongPress ()
Cancels a pending long press. Your subclass can use this if you want the context menu to come up if the user presses and holds at the same place, but you don't want it to come up if they press and then move around enough to cause scrolling.
cancelPendingInputEvents
public final void cancelPendingInputEvents ()
Cancel any deferred high-level input events that were previously posted to the event queue.
Many views post high-level events such as click handlers to the event queue to run deferred in order to preserve a desired user experience - clearing visible pressed states before executing, etc. This method will abort any events of this nature that are currently in flight.
Custom views that generate their own high-level deferred input events should override
onCancelPendingInputEvents()
and remove those pending events from the queue.
This will also cancel pending input events for any child views.
Note that this may not be sufficient as a debouncing strategy for clicks in all cases.
This will not impact newer events posted after this call that may occur as a result of
lower-level input events still waiting in the queue. If you are trying to prevent
double-submitted events for the duration of some sort of asynchronous transaction
you should also take other steps to protect against unexpected double inputs e.g. calling
setEnabled(false)
and re-enabling the view when
the transaction completes, tracking already submitted transaction IDs, etc.
checkInputConnectionProxy
public boolean checkInputConnectionProxy (View view)
Called by the InputMethodManager
when a view who is not the current
input connection target is trying to make a call on the manager. The
default implementation returns false; you can override this to return
true for certain views if you are performing InputConnection proxying
to them.
Parameters | |
---|---|
view |
View : The View that is making the InputMethodManager call. |
Returns | |
---|---|
boolean |
Return true to allow the call, false to reject. |
clearAnimation
public void clearAnimation ()
Cancels any animations for this view.
clearFocus
public void clearFocus ()
Called when this view wants to give up focus. If focus is cleared
onFocusChanged(boolean, int, android.graphics.Rect)
is called.
Note: When not in touch-mode, the framework will try to give focus to the first focusable View from the top after focus is cleared. Hence, if this View is the first from the top that can take focus, then all callbacks related to clearing focus will be invoked after which the framework will give focus to this view.
clearPendingCredentialRequest
public void clearPendingCredentialRequest ()
Clears the request and callback previously set
through View#setPendingCredentialRequest
.
Once this API is invoked, there will be no request fired to CredentialManager
on future view focus events.
clearViewTranslationCallback
public void clearViewTranslationCallback ()
Clear the ViewTranslationCallback
from this view.
combineMeasuredStates
public static int combineMeasuredStates (int curState, int newState)
Merge two states as returned by 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. |
computeScroll
public void computeScroll ()
Called by a parent to request that a child update its values for mScrollX
and mScrollY if necessary. This will typically be done if the child is
animating a scroll using a Scroller
object.
computeSystemWindowInsets
public WindowInsets computeSystemWindowInsets (WindowInsets in, Rect outLocalInsets)
Compute insets that should be consumed by this view and the ones that should propagate to those under it.
Parameters | |
---|---|
in |
WindowInsets : Insets currently being processed by this View, likely received as a parameter
to onApplyWindowInsets(android.view.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 |
createAccessibilityNodeInfo
public AccessibilityNodeInfo createAccessibilityNodeInfo ()
Returns an AccessibilityNodeInfo
representing this view from the
point of view of an AccessibilityService
.
This method is responsible for obtaining an accessibility node info from a
pool of reusable instances and calling
onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo)
on this view to
initialize the former.
Note: The client is responsible for recycling the obtained instance by calling
AccessibilityNodeInfo#recycle()
to minimize object creation.
Returns | |
---|---|
AccessibilityNodeInfo |
A populated AccessibilityNodeInfo . |
See also:
createContextMenu
public void createContextMenu (ContextMenu menu)
Show the context menu for this view. It is not safe to hold on to the
menu after returning from this method.
You should normally not overload this method. Overload
onCreateContextMenu(android.view.ContextMenu)
or define an
OnCreateContextMenuListener
to add items to the context menu.
Parameters | |
---|---|
menu |
ContextMenu : The context menu to populate |
destroyDrawingCache
public void destroyDrawingCache ()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Frees the resources used by the drawing cache. If you call
buildDrawingCache()
manually without calling
setDrawingCacheEnabled(true)
, you
should cleanup the cache with this method afterwards.
dispatchApplyWindowInsets
public WindowInsets dispatchApplyWindowInsets (WindowInsets insets)
Request to apply the given window insets to this view or another view in its subtree.
This method should be called by clients wishing to apply insets corresponding to areas obscured by window decorations or overlays. This can include the status and navigation bars, action bars, input methods and more. New inset categories may be added in the future. The method returns the insets provided minus any that were applied by this view or its children.
Clients wishing to provide custom behavior should override the
onApplyWindowInsets(android.view.WindowInsets)
method or alternatively provide a
OnApplyWindowInsetsListener
via the
setOnApplyWindowInsetsListener
method.
This method replaces the older fitSystemWindows
method.
Parameters | |
---|---|
insets |
WindowInsets : Insets to apply |
Returns | |
---|---|
WindowInsets |
The provided insets minus the insets that were consumed |
dispatchCapturedPointerEvent
public boolean dispatchCapturedPointerEvent (MotionEvent event)
Pass a captured pointer event down to the focused view.
Parameters | |
---|---|
event |
MotionEvent : The motion event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
dispatchConfigurationChanged
public void dispatchConfigurationChanged (Configuration newConfig)
Dispatch a notification about a resource configuration change down the view hierarchy. ViewGroups should override to route to their children.
Parameters | |
---|---|
newConfig |
Configuration : The new resource configuration. |
dispatchCreateViewTranslationRequest
public void dispatchCreateViewTranslationRequest (Map<AutofillId, long[]> viewIds, int[] supportedFormats, TranslationCapability capability, List<ViewTranslationRequest> requests)
Dispatch to collect the ViewTranslationRequest
s for translation purpose by traversing
the hierarchy when the app requests ui translation. Typically, this method should only be
overridden by subclasses that provide a view hierarchy (such as ViewGroup
). Other
classes should override View#onCreateViewTranslationRequest
for normal view or
override View#onVirtualViewTranslationResponses
for view contains virtual children.
When requested to start the ui translation, the system will call this method to traverse the
view hierarchy to collect ViewTranslationRequest
s and create a
Translator
to translate the requests. All the
ViewTranslationRequest
s must be added when the traversal is done.
The default implementation calls View#onCreateViewTranslationRequest
for normal
view or calls View#onVirtualViewTranslationResponses
for view contains virtual
children to build ViewTranslationRequest
if the view should be translated.
The view is marked as having transient state
so that
recycling of views doesn't prevent the system from attaching the response to it. Therefore,
if overriding this method, you should set or reset the transient state.
Parameters | |
---|---|
viewIds |
Map : a map for the view's AutofillId and its virtual child ids or
null if the view doesn't have virtual child that should be translated. The virtual
child ids are the same virtual ids provided by ContentCapture. |
supportedFormats |
int : the supported translation formats. For now, the only possible value
is the TranslationSpec.DATA_FORMAT_TEXT .
This value cannot be null .
Value is TranslationSpec.DATA_FORMAT_TEXT |
capability |
TranslationCapability : a TranslationCapability that holds translation capability.
information, e.g. source spec, target spec.
This value cannot be null . |
requests |
List : fill in with ViewTranslationRequest s for translation purpose.
This value cannot be null . |
dispatchDisplayHint
public void dispatchDisplayHint (int hint)
Dispatch a hint about whether this view is displayed. For instance, when a View moves out of the screen, it might receives a display hint indicating the view is not displayed. Applications should not rely on this hint as there is no guarantee that they will receive one.
Parameters | |
---|---|
hint |
int : A hint about whether or not this view is displayed:
VISIBLE or INVISIBLE .
Value is VISIBLE , INVISIBLE , or GONE |
dispatchDragEvent
public boolean dispatchDragEvent (DragEvent event)
Detects if this View is enabled and has a drag event listener.
If both are true, then it calls the drag event listener with the
DragEvent
it received. If the drag event listener returns
true
, then dispatchDragEvent() returns true
.
For all other cases, the method calls the
onDragEvent()
drag event handler
method and returns its result.
This ensures that a drag event is always consumed, even if the View does not have a drag event listener. However, if the View has a listener and the listener returns true, then onDragEvent() is not called.
Parameters | |
---|---|
event |
DragEvent |
Returns | |
---|---|
boolean |
dispatchDrawableHotspotChanged
public void dispatchDrawableHotspotChanged (float x, float y)
Dispatches drawableHotspotChanged to all of this View's children.
Parameters | |
---|---|
x |
float : hotspot x coordinate |
y |
float : hotspot y coordinate |
See also:
dispatchFinishTemporaryDetach
public void dispatchFinishTemporaryDetach ()
Dispatch onFinishTemporaryDetach()
to this View and its direct children if this is
a container View.
If you override this method you must call through to the
superclass implementation.
dispatchGenericMotionEvent
public boolean dispatchGenericMotionEvent (MotionEvent event)
Dispatch a generic motion event.
Generic motion events with source class InputDevice#SOURCE_CLASS_POINTER
are delivered to the view under the pointer. All other generic motion events are
delivered to the focused view. Hover events are handled specially and are delivered
to onHoverEvent(android.view.MotionEvent)
first.
Parameters | |
---|---|
event |
MotionEvent : The motion event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
dispatchKeyEvent
public boolean dispatchKeyEvent (KeyEvent event)
Dispatch a key event to the next view on the focus path. This path runs from the top of the view tree down to the currently focused view. If this view has focus, it will dispatch to itself. Otherwise it will dispatch the next node down the focus path. This method also fires any key listeners.
Parameters | |
---|---|
event |
KeyEvent : The key event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
dispatchKeyEventPreIme
public boolean dispatchKeyEventPreIme (KeyEvent event)
Dispatch a key event before it is processed by any input method associated with the view hierarchy. This can be used to intercept key events in special situations before the IME consumes them; a typical example would be handling the BACK key to update the application's UI instead of allowing the IME to see it and close itself.
Parameters | |
---|---|
event |
KeyEvent : The key event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
dispatchKeyShortcutEvent
public boolean dispatchKeyShortcutEvent (KeyEvent event)
Dispatches a key shortcut event.
Parameters | |
---|---|
event |
KeyEvent : The key event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
dispatchNestedFling
public boolean dispatchNestedFling (float velocityX, float velocityY, boolean consumed)
Dispatch a fling to a nested scrolling parent.
This method should be used to indicate that a nested scrolling child has detected
suitable conditions for a fling. Generally this means that a touch scroll has ended with a
velocity
in the direction of scrolling that meets or exceeds
the minimum fling velocity
along a scrollable axis.
If a nested scrolling child view would normally fling but it is at the edge of its own content, it can use this method to delegate the fling to its nested scrolling parent instead. The parent may optionally consume the fling or observe a child fling.
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 |
dispatchNestedPreFling
public boolean dispatchNestedPreFling (float velocityX, float velocityY)
Dispatch a fling to a nested scrolling parent before it is processed by this view.
Nested pre-fling events are to nested fling events what touch intercept is to touch
and what nested pre-scroll is to nested scroll. dispatchNestedPreFling
offsets an opportunity for the parent view in a nested fling to fully consume the fling
before the child view consumes it. If this method returns true
, a nested
parent view consumed the fling and this view should not scroll as a result.
For a better user experience, only one view in a nested scrolling chain should consume the fling at a time. If a parent view consumed the fling this method will return false. Custom view implementations should account for this in two ways:
- If a custom view is paged and needs to settle to a fixed page-point, do not
call
dispatchNestedPreFling
; consume the fling and settle to a valid position regardless. - If a nested parent does consume the fling, this view should not scroll at all, even to settle back to a valid idle position.
Views should also not offer fling velocities to nested parent views along an axis
where scrolling is not currently supported; a ScrollView
should not offer a horizontal fling velocity to its parents since scrolling along that
axis is not permitted and carrying velocity along that motion does not make sense.
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 |
dispatchNestedPrePerformAccessibilityAction
public boolean dispatchNestedPrePerformAccessibilityAction (int action, Bundle arguments)
Report an accessibility action to this view's parents for delegated processing.
Implementations of performAccessibilityAction(int, android.os.Bundle)
may internally
call this method to delegate an accessibility action to a supporting parent. If the parent
returns true from its
ViewParent#onNestedPrePerformAccessibilityAction(View, int, android.os.Bundle)
method this method will return true to signify that the action was consumed.
This method is useful for implementing nested scrolling child views. If
isNestedScrollingEnabled()
returns true and the action is a scrolling action
a custom view implementation may invoke this method to allow a parent to consume the
scroll first. If this method returns true the custom view should skip its own scrolling
behavior.
Parameters | |
---|---|
action |
int : Accessibility action to delegate |
arguments |
Bundle : Optional action arguments
This value may be null . |
Returns | |
---|---|
boolean |
true if the action was consumed by a parent |
dispatchNestedPreScroll
public boolean dispatchNestedPreScroll (int dx, int dy, int[] consumed, int[] offsetInWindow)
Dispatch one step of a nested scroll in progress before this view consumes any portion of it.
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 |
dispatchNestedScroll
public boolean dispatchNestedScroll (int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int[] offsetInWindow)
Dispatch one step of a nested scroll in progress.
Implementations of views that support nested scrolling should call this to report
info about a scroll in progress to the current nested scrolling parent. If a nested scroll
is not currently in progress or nested scrolling is not
enabled
for this view this method does nothing.
Compatible View implementations should also call
dispatchNestedPreScroll
before
consuming a component of the scroll event themselves.
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. |
dispatchPointerCaptureChanged
public void dispatchPointerCaptureChanged (boolean hasCapture)
Parameters | |
---|---|
hasCapture |
boolean |
See also:
dispatchPopulateAccessibilityEvent
public boolean dispatchPopulateAccessibilityEvent (AccessibilityEvent event)
Dispatches an AccessibilityEvent
to the View
to add the text content of the
view and its children.
Note: This method should only be used with event.setText(). Avoid mutating other event state in this method. In general, put UI metadata in the node for services to easily query.
- If you are modifying other event properties, you may be eliminating semantics
accessibility services may want. Instead, send a separate event using
sendAccessibilityEvent(int)
and overrideonInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
. - If you are checking for type
AccessibilityEvent#TYPE_WINDOW_STATE_CHANGED
to generate window/title announcements, you may be causing disruptive announcements (or making no announcements at all). Instead, follow the practices described inView#announceForAccessibility(CharSequence)
. Note: this does not suggest calling announceForAccessibility(), but using the suggestions listed in its documentation. - If you are making changes based on the state of accessibility, such as checking for
an event type to trigger a UI update, while well-intentioned, you are creating brittle,
less well-maintained code that works for some users but not others. Instead, leverage
existing code for equitable experiences and less technical debt. See
AccessibilityManager#isEnabled()
for an example.
Note that the event text is populated in a separate dispatch path
(onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
) since we add to the
event not only the text of the source but also the text of all its descendants.
A typical implementation will call
onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
on this view
and then call the dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
on each child or the first child that is visible. Override this method if custom population
of the event text content is required.
If an AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
AccessibilityDelegate#dispatchPopulateAccessibilityEvent(View, AccessibilityEvent)
is responsible for handling this call.
If this view sets isAccessibilityDataSensitive()
then this view should only append
sensitive information to an event that also sets
AccessibilityEvent#isAccessibilityDataSensitive()
.
Note: Accessibility events of certain types are not dispatched for
populating the event text via this method. For details refer to AccessibilityEvent
.
Parameters | |
---|---|
event |
AccessibilityEvent : The event. |
Returns | |
---|---|
boolean |
True if the event population was completed. |
dispatchProvideAutofillStructure
public void dispatchProvideAutofillStructure (ViewStructure structure, int flags)
Dispatches creation of a ViewStructure
s for autofill purposes down the hierarchy,
when an Assist structure is being created as part of an autofill request.
The default implementation does the following:
- Sets the
AutofillId
in the structure. - Calls
onProvideAutofillStructure(android.view.ViewStructure, int)
. - Calls
onProvideAutofillVirtualStructure(android.view.ViewStructure, int)
.
Typically, this method should only be overridden by subclasses that provide a view
hierarchy (such as ViewGroup
) - other classes should override
onProvideAutofillStructure(android.view.ViewStructure, int)
or
onProvideAutofillVirtualStructure(android.view.ViewStructure, int)
instead.
When overridden, it must:
- Either call
super.dispatchProvideAutofillStructure(structure, flags)
or explicitly set theAutofillId
in the structure (for example, by callingstructure.setAutofillId(getAutofillId())
). - Decide how to handle the
AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
flag - when set, all views in the structure should be considered important for autofill, regardless of whatisImportantForAutofill()
returns. We encourage you to respect this flag to provide a better user experience - this flag is typically used when an user explicitly requested autofill. If the flag is not set, then only views marked as important for autofill should be included in the structure - skipping non-important views optimizes the overall autofill performance.
Parameters | |
---|---|
structure |
ViewStructure : fill in with structured view data for autofill purposes.
This value cannot be null . |
flags |
int : optional flags.
Value is either 0 or AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS |
dispatchProvideStructure
public void dispatchProvideStructure (ViewStructure structure)
Dispatch creation of ViewStructure
down the hierarchy. The default
implementation calls onProvideStructure(ViewStructure)
and
onProvideVirtualStructure(ViewStructure)
.
Parameters | |
---|---|
structure |
ViewStructure |
dispatchScrollCaptureSearch
public void dispatchScrollCaptureSearch (Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)
Dispatch a scroll capture search request down the view hierarchy.
Parameters | |
---|---|
localVisibleRect |
Rect : the visible area of this ViewGroup in local coordinates, according to
the parent
This value cannot be null . |
windowOffset |
Point : the offset of this view within the window
This value cannot be null . |
targets |
Consumer : accepts potential scroll capture targets; results.accept may be called zero or more times on the calling
thread before onScrollCaptureSearch returns
This value cannot be null . |
dispatchStartTemporaryDetach
public void dispatchStartTemporaryDetach ()
Dispatch onStartTemporaryDetach()
to this View and its direct children if this is
a container View.
If you override this method you must call through to the
superclass implementation.
dispatchSystemUiVisibilityChanged
public void dispatchSystemUiVisibilityChanged (int visibility)
This method was deprecated
in API level 30.
Use WindowInsets#isVisible(int)
to find out about system bar visibilities
by setting a OnApplyWindowInsetsListener
on this view.
Dispatch callbacks to setOnSystemUiVisibilityChangeListener(OnSystemUiVisibilityChangeListener)
down
the view hierarchy.
Parameters | |
---|---|
visibility |
int |
dispatchTouchEvent
public boolean dispatchTouchEvent (MotionEvent event)
Pass the touch screen motion event down to the target view, or this view if it is the target.
Parameters | |
---|---|
event |
MotionEvent : The motion event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
See also:
dispatchTrackballEvent
public boolean dispatchTrackballEvent (MotionEvent event)
Pass a trackball motion event down to the focused view.
Parameters | |
---|---|
event |
MotionEvent : The motion event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
See also:
dispatchUnhandledMove
public boolean dispatchUnhandledMove (View focused, int direction)
This method is the last chance for the focused view and its ancestors to respond to an arrow key. This is called when the focused view did not consume the key internally, nor could the view system find a new view in the requested direction to give focus to.
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.
Value is FOCUS_LEFT , FOCUS_UP , FOCUS_RIGHT , or FOCUS_DOWN |
Returns | |
---|---|
boolean |
True if the this view consumed this unhandled move. |
dispatchWindowFocusChanged
public void dispatchWindowFocusChanged (boolean hasFocus)
Called when the window containing this view gains or loses window focus. ViewGroups should override to route to their children.
Parameters | |
---|---|
hasFocus |
boolean : True if the window containing this view now has focus,
false otherwise. |
dispatchWindowInsetsAnimationEnd
public void dispatchWindowInsetsAnimationEnd (WindowInsetsAnimation animation)
Dispatches WindowInsetsAnimation.Callback#onEnd(WindowInsetsAnimation)
when Window Insets animation ends.
Parameters | |
---|---|
animation |
WindowInsetsAnimation : The current ongoing WindowInsetsAnimation .
This value cannot be null . |
dispatchWindowInsetsAnimationPrepare
public void dispatchWindowInsetsAnimationPrepare (WindowInsetsAnimation animation)
Dispatches WindowInsetsAnimation.Callback#onPrepare(WindowInsetsAnimation)
when Window Insets animation is being prepared.
Parameters | |
---|---|
animation |
WindowInsetsAnimation : current animation
This value cannot be null . |
dispatchWindowInsetsAnimationProgress
public WindowInsets dispatchWindowInsetsAnimationProgress (WindowInsets insets, List<WindowInsetsAnimation> runningAnimations)
Dispatches WindowInsetsAnimation.Callback#onProgress(WindowInsets, List)
when Window Insets animation makes progress.
Parameters | |
---|---|
insets |
WindowInsets : The current WindowInsets .
This value cannot be null . |
runningAnimations |
List : The currently running WindowInsetsAnimation s.
This value cannot be null . |
Returns | |
---|---|
WindowInsets |
current WindowInsets .
This value cannot be null . |
dispatchWindowInsetsAnimationStart
public WindowInsetsAnimation.Bounds dispatchWindowInsetsAnimationStart (WindowInsetsAnimation animation, WindowInsetsAnimation.Bounds bounds)
Dispatches WindowInsetsAnimation.Callback#onStart(WindowInsetsAnimation, Bounds)
when Window Insets animation is started.
Parameters | |
---|---|
animation |
WindowInsetsAnimation : current animation
This value cannot be null . |
bounds |
WindowInsetsAnimation.Bounds : the upper and lower Bounds that provides range of
WindowInsetsAnimation .
This value cannot be null . |
Returns | |
---|---|
WindowInsetsAnimation.Bounds |
the upper and lower Bounds .
This value cannot be null . |
dispatchWindowSystemUiVisiblityChanged
public void dispatchWindowSystemUiVisiblityChanged (int visible)
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use WindowInsetsController
instead.
Dispatch callbacks to onWindowSystemUiVisibilityChanged(int)
down
the view hierarchy.
Parameters | |
---|---|
visible |
int |
dispatchWindowVisibilityChanged
public void dispatchWindowVisibilityChanged (int visibility)
Dispatch a window visibility change down the view hierarchy. ViewGroups should override to route to their children.
Parameters | |
---|---|
visibility |
int : The new visibility of the window.
Value is VISIBLE , INVISIBLE , or GONE |
See also:
draw
public void draw (Canvas canvas)
Manually render this view (and all of its children) to the given Canvas.
The view must have already done a full layout before this function is
called. When implementing a view, implement
onDraw(android.graphics.Canvas)
instead of overriding this method.
If you do need to override this method, call the superclass version.
If you override this method you must call through to the
superclass implementation.
Parameters | |
---|---|
canvas |
Canvas : The Canvas to which the View is rendered.
This value cannot be null . |
drawableHotspotChanged
public void drawableHotspotChanged (float x, float y)
This function is called whenever the view hotspot changes and needs to be propagated to drawables or child views managed by the view.
Dispatching to child views is handled by
dispatchDrawableHotspotChanged(float, float)
.
Be sure to call through to the superclass when overriding this function.
If you override this method you must call through to the
superclass implementation.
Parameters | |
---|---|
x |
float : hotspot x coordinate |
y |
float : hotspot y coordinate |
findFocus
public View findFocus ()
Find the view in the hierarchy rooted at this view that currently has focus.
Returns | |
---|---|
View |
The view that currently has focus, or null if no focused view can be found. |
findOnBackInvokedDispatcher
public final OnBackInvokedDispatcher findOnBackInvokedDispatcher ()
Walk up the View hierarchy to find the nearest OnBackInvokedDispatcher
.
Returns | |
---|---|
OnBackInvokedDispatcher |
The OnBackInvokedDispatcher from this or the nearest
ancestor, or null if this view is both not attached and have no ancestor providing an
OnBackInvokedDispatcher . |
findViewById
public final T findViewById (int id)
Finds the first descendant view with the given ID, the view itself if
the ID matches getId()
, or null
if the ID is invalid
(< 0) or there is no matching view in the hierarchy.
Note: In most cases -- depending on compiler support -- the resulting view is automatically cast to the target class type. If the target class type is unconstrained, an explicit cast may be necessary.
Parameters | |
---|---|
id |
int : the ID to search for |
Returns | |
---|---|
T |
a view with given ID if found, or null otherwise |
See also:
findViewWithTag
public final T findViewWithTag (Object tag)
Look for a child view with the given tag. If this view has the given tag, return this view.
Parameters | |
---|---|
tag |
Object : The tag to search for, using "tag.equals(getTag())". |
Returns | |
---|---|
T |
The View that has the given tag in the hierarchy or null |
findViewsWithText
public void findViewsWithText (ArrayList<View> outViews, CharSequence searched, int flags)
Finds the Views that contain given text. The containment is case insensitive.
The search is performed by either the text that the View renders or the content
description that describes the view for accessibility purposes and the view does
not render or both. Clients can specify how the search is to be performed via
passing the FIND_VIEWS_WITH_TEXT
and
FIND_VIEWS_WITH_CONTENT_DESCRIPTION
flags.
Parameters | |
---|---|
outViews |
ArrayList : The output list of matching Views. |
searched |
CharSequence : The text to match against. |
flags |
int : Value is either 0 or a combination of FIND_VIEWS_WITH_TEXT , and FIND_VIEWS_WITH_CONTENT_DESCRIPTION |
focusSearch
public View focusSearch (int direction)
Find the nearest view in the specified direction that can take focus. This does not actually give focus to that view.
Parameters | |
---|---|
direction |
int : One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT
Value is FOCUS_LEFT , FOCUS_UP , FOCUS_RIGHT , or FOCUS_DOWN |
Returns | |
---|---|
View |
The nearest focusable in the specified direction, or null if none can be found. |
forceHasOverlappingRendering
public void forceHasOverlappingRendering (boolean hasOverlappingRendering)
Sets the behavior for overlapping rendering for this view (see hasOverlappingRendering()
for more details on this behavior). Calling this method
is an alternative to overriding hasOverlappingRendering()
in a subclass,
providing the value which is then used internally. That is, when forceHasOverlappingRendering(boolean)
is called, the value of hasOverlappingRendering()
is ignored and the value passed into this method is used
instead.
Related XML Attributes:
Parameters | |
---|---|
hasOverlappingRendering |
boolean : The value for overlapping rendering to be used internally
instead of that returned by hasOverlappingRendering() . |
forceLayout
public void forceLayout ()
Forces this view to be laid out during the next layout pass. This method does not call requestLayout() or forceLayout() on the parent.
gatherTransparentRegion
public boolean gatherTransparentRegion (Region region)
This is used by the ViewRoot to perform an optimization when the view hierarchy contains one or several SurfaceView. SurfaceView is always considered transparent, but its children are not, therefore all View objects remove themselves from the global transparent region (passed as a parameter to this function).
Parameters | |
---|---|
region |
Region : The transparent region for this ViewAncestor (window).
This value may be null . |
Returns | |
---|---|
boolean |
Returns true if the effective visibility of the view at this point is opaque, regardless of the transparent region; returns false if it is possible for underlying windows to be seen behind the view. |
generateDisplayHash
public void generateDisplayHash (String hashAlgorithm, Rect bounds, Executor executor, DisplayHashResultCallback callback)
Called to generate a DisplayHash
for this view.
Parameters | |
---|---|
hashAlgorithm |
String : The hash algorithm to use when hashing the display. Must be one of
the values returned from
DisplayHashManager#getSupportedHashAlgorithms()
This value cannot be null . |
bounds |
Rect : The bounds for the content within the View to generate the hash for. If
bounds are null, the entire View's bounds will be used. If empty, it will
invoke the callback
DisplayHashResultCallback#onDisplayHashError with error
DisplayHashResultCallback#DISPLAY_HASH_ERROR_INVALID_BOUNDS |
executor |
Executor : The executor that the callback should be invoked on.
This value cannot be null . |
callback |
DisplayHashResultCallback : The callback to handle the results of generating the display hash
This value cannot be null . |
generateViewId
public static int generateViewId ()
Generate a value suitable for use in setId(int)
.
This value will not collide with ID values generated at build time by aapt for R.id.
Returns | |
---|---|
int |
a generated ID value |
getAccessibilityClassName
public CharSequence getAccessibilityClassName ()
Return the class name of this object to be used for accessibility purposes.
Subclasses should only override this if they are implementing something that
should be seen as a completely new class of view when used by accessibility,
unrelated to the class it is deriving from. This is used to fill in
AccessibilityNodeInfo.setClassName
.
Returns | |
---|---|
CharSequence |
getAccessibilityDelegate
public View.AccessibilityDelegate getAccessibilityDelegate ()
Returns the delegate for implementing accessibility support via
composition. For more details see AccessibilityDelegate
.
Returns | |
---|---|
View.AccessibilityDelegate |
The delegate, or null if none set. |
getAccessibilityLiveRegion
public int getAccessibilityLiveRegion ()
Gets the live region mode for this View.
Related XML Attributes:
Returns | |
---|---|
int |
The live region mode for the view. |
See also:
getAccessibilityNodeProvider
public AccessibilityNodeProvider getAccessibilityNodeProvider ()
Gets the provider for managing a virtual view hierarchy rooted at this View
and reported to AccessibilityService
s
that explore the window content.
If this method returns an instance, this instance is responsible for managing
AccessibilityNodeInfo
s describing the virtual sub-tree rooted at this
View including the one representing the View itself. Similarly the returned
instance is responsible for performing accessibility actions on any virtual
view or the root view itself.
If an AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
AccessibilityDelegate#getAccessibilityNodeProvider(View)
is responsible for handling this call.
Returns | |
---|---|
AccessibilityNodeProvider |
The provider. |
See also:
getAccessibilityPaneTitle
public CharSequence getAccessibilityPaneTitle ()
Get the title of the pane for purposes of accessibility.
Related XML Attributes:
Returns | |
---|---|
CharSequence |
The current pane title.
.
This value may be null . |
getAccessibilityTraversalAfter
public int getAccessibilityTraversalAfter ()
Gets the id of a view after which this one is visited in accessibility traversal.
Returns | |
---|---|
int |
The id of a view this one succeedes in accessibility traversal if
specified, otherwise NO_ID . |
See also:
getAccessibilityTraversalBefore
public int getAccessibilityTraversalBefore ()
Gets the id of a view before which this one is visited in accessibility traversal.
Returns | |
---|---|
int |
The id of a view this one precedes in accessibility traversal if
specified, otherwise NO_ID . |
See also:
getAllowedHandwritingDelegatePackageName
public String getAllowedHandwritingDelegatePackageName ()
Returns the allowed package for delegate editor views for which this view may act as a
handwriting delegator, as set by setAllowedHandwritingDelegatePackage(String)
. If setAllowedHandwritingDelegatePackage(String)
has not been called, or called with null
argument, this will return null
, meaning that this delegator view may only be used to
initiate handwriting mode for a delegate editor view from the same package as this delegator
view.
Returns | |
---|---|
String |
getAllowedHandwritingDelegatorPackageName
public String getAllowedHandwritingDelegatorPackageName ()
Returns the allowed package for views which may act as a handwriting delegator for this
delegate editor view, as set by setAllowedHandwritingDelegatorPackage(String)
. If setAllowedHandwritingDelegatorPackage(String)
has not been called, or called with null
argument, this will return null
, meaning that only views from the same package as
this delegator editor view may act as a handwriting delegator.
Returns | |
---|---|
String |
getAlpha
public float getAlpha ()
The opacity of the view. This is a value from 0 to 1, where 0 means the view is completely transparent and 1 means the view is completely opaque.
By default this is 1.0f.
Returns | |
---|---|
float |
The opacity of the view. |
getAnimation
public Animation getAnimation ()
Get the animation currently associated with this view.
Returns | |
---|---|
Animation |
The animation that is currently playing or scheduled to play for this view. |
getAnimationMatrix
public Matrix getAnimationMatrix ()
Return the current transformation matrix of the view. This is used in animation frameworks,
such as Transition
. Returns null
when there is no
transformation provided by setAnimationMatrix(android.graphics.Matrix)
.
Application developers should use transformation methods like setRotation(float)
,
setScaleX(float)
, setScaleX(float)
, setTranslationX(float)
}
and setTranslationY(float)
(float)}} instead.
Returns | |
---|---|
Matrix |
the Matrix, null indicates there is no transformation |
See also:
getApplicationWindowToken
public IBinder getApplicationWindowToken ()
Retrieve a unique token identifying the top-level "real" window of
the window that this view is attached to. That is, this is like
getWindowToken()
, except if the window this view in is a panel
window (attached to another containing window), then the token of
the containing window is returned instead.
Returns | |
---|---|
IBinder |
Returns the associated window token, either
getWindowToken() or the containing window's token. |
getAttributeResolutionStack
public int[] getAttributeResolutionStack (int attribute)
Returns the ordered list of resource ID that are considered when resolving attribute values
for this View
. The list will include layout resource ID if the View is inflated from
XML. It will also include a set of explicit styles if specified in XML using
style="..."
. Finally, it will include the default styles resolved from the theme.
Note: this method will only return actual values if the view attribute debugging is enabled in Android developer options.
Parameters | |
---|---|
attribute |
int : Attribute resource ID for which the resolution stack should be returned. |
Returns | |
---|---|
int[] |
ordered list of resource ID that are considered when resolving attribute values for
this View .
This value cannot be null . |
getAttributeSourceResourceMap
public Map<Integer, Integer> getAttributeSourceResourceMap ()
Returns the mapping of attribute resource ID to source resource ID where the attribute value
was set. Source resource ID can either be a layout resource ID, if the value was set in XML
within the View tag, or a style resource ID, if the attribute was set in a style. The source
resource value will be one of the resource IDs from getAttributeSourceResourceMap()
.
Note: this method will only return actual values if the view attribute debugging is enabled in Android developer options.
Returns | |
---|---|
Map<Integer, Integer> |
mapping of attribute resource ID to source resource ID where the attribute value
was set.
This value cannot be null . |
getAutofillHints
public String[] getAutofillHints ()
Gets the hints that help an AutofillService
determine how
to autofill the view with the user's data.
See setAutofillHints(java.lang.String)
for more info about these hints.
Related XML Attributes:
Returns | |
---|---|
String[] |
The hints set via the attribute or setAutofillHints(java.lang.String) , or
null if no hints were set. |
getAutofillId
public final AutofillId getAutofillId ()
Gets the unique, logical identifier of this view in the activity, for autofill purposes.
The autofill id is created on demand, unless it is explicitly set by
setAutofillId(android.view.autofill.AutofillId)
.
See setAutofillId(android.view.autofill.AutofillId)
for more info.
Returns | |
---|---|
AutofillId |
The View's autofill id. |
getAutofillType
public int getAutofillType ()
Describes the autofill type of this view, so an
AutofillService
can create the proper AutofillValue
when autofilling the view.
By default returns AUTOFILL_TYPE_NONE
, but views should override it to properly
support the Autofill Framework.
Returns | |
---|---|
int |
either AUTOFILL_TYPE_NONE , AUTOFILL_TYPE_TEXT ,
AUTOFILL_TYPE_LIST , AUTOFILL_TYPE_DATE , or AUTOFILL_TYPE_TOGGLE .
Value is AUTOFILL_TYPE_NONE , AUTOFILL_TYPE_TEXT , AUTOFILL_TYPE_TOGGLE , AUTOFILL_TYPE_LIST , or AUTOFILL_TYPE_DATE |
getAutofillValue
public AutofillValue getAutofillValue ()
Gets the View
's current autofill value.
By default returns null
, but subclasses should override it and return an
appropriate value to properly support the Autofill Framework.
Returns | |
---|---|
AutofillValue |
getBackground
public Drawable getBackground ()
Gets the background drawable
Related XML Attributes:
Returns | |
---|---|
Drawable |
The drawable used as the background for this view, if any. |
See also:
getBackgroundTintBlendMode
public BlendMode getBackgroundTintBlendMode ()
Return the blending mode used to apply the tint to the background drawable, if specified.
Related XML Attributes:
Returns | |
---|---|
BlendMode |
the blending mode used to apply the tint to the background drawable, null if no blend has previously been configured |
See also:
getBackgroundTintList
public ColorStateList getBackgroundTintList ()
Return the tint applied to the background drawable, if specified.
Related XML Attributes:
Returns | |
---|---|
ColorStateList |
the tint applied to the background drawable
This value may be null . |
See also:
getBackgroundTintMode
public PorterDuff.Mode getBackgroundTintMode ()
Return the blending mode used to apply the tint to the background drawable, if specified.
Related XML Attributes:
Returns | |
---|---|
PorterDuff.Mode |
the blending mode used to apply the tint to the background
drawable
This value may be null . |
See also:
getBaseline
public int getBaseline ()
Return the offset of the widget's text baseline from the widget's top boundary. If this widget does not support baseline alignment, this method returns -1.
Returns | |
---|---|
int |
the offset of the baseline within the widget's bounds or -1 if baseline alignment is not supported |
getBottom
public final int getBottom ()
Bottom position of this view relative to its parent.
Returns | |
---|---|
int |
The bottom of this view, in pixels. |
getCameraDistance
public float getCameraDistance ()
Gets the distance along the Z axis from the camera to this view.
Returns | |
---|---|
float |
The distance along the Z axis. |
See also:
getClipBounds
public boolean getClipBounds (Rect outRect)
Populates an output rectangle with the clip bounds of the view,
returning true
if successful or false
if the view's
clip bounds are 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 |
getClipBounds
public Rect getClipBounds ()
Returns a copy of the current clipBounds
.
Returns | |
---|---|
Rect |
A copy of the current clip bounds if clip bounds are set, otherwise null. |
getClipToOutline
public final boolean getClipToOutline ()
Returns whether the Outline should be used to clip the contents of the View.
Note that this flag will only be respected if the View's Outline returns true from
Outline#canClip()
.
Returns | |
---|---|
boolean |
getContentCaptureSession
public final ContentCaptureSession getContentCaptureSession ()
Gets the session used to notify content capture events.
Returns | |
---|---|
ContentCaptureSession |
session explicitly set by setContentCaptureSession(android.view.contentcapture.ContentCaptureSession) ,
inherited by ancestors, default session or null if content capture is disabled for
this view. |
getContentDescription
public CharSequence getContentDescription ()
Returns the View
's content description.
Note: Do not override this method, as it will have no
effect on the content description presented to accessibility services.
You must call setContentDescription(java.lang.CharSequence)
to modify the
content description.
Related XML Attributes:
Returns | |
---|---|
CharSequence |
the content description |
See also:
getContentSensitivity
public final int getContentSensitivity ()
Gets content sensitivity mode to determine whether this view displays sensitive content.
See setContentSensitivity(int)
and
isContentSensitive()
for more info about this mode.
Returns | |
---|---|
int |
CONTENT_SENSITIVITY_AUTO by default, or value passed to
setContentSensitivity(int) .
Value is CONTENT_SENSITIVITY_AUTO , CONTENT_SENSITIVITY_SENSITIVE , or CONTENT_SENSITIVITY_NOT_SENSITIVE |
getContext
public final Context getContext ()
Returns the context the view is running in, through which it can access the current theme, resources, etc.
Returns | |
---|---|
Context |
The view's Context. |
getDefaultFocusHighlightEnabled
public final boolean getDefaultFocusHighlightEnabled ()
Returns whether this View should use a default focus highlight when it gets focused but
doesn't have R.attr.state_focused
defined in its background.
Related XML Attributes:
Returns | |
---|---|
boolean |
True if this View should use a default focus highlight. |
getDefaultSize
public static int getDefaultSize (int size, int measureSpec)
Utility to return a default size. Uses the supplied size if the MeasureSpec imposed no constraints. Will get larger if allowed by the MeasureSpec.
Parameters | |
---|---|
size |
int : Default size for this view |
measureSpec |
int : Constraints imposed by the parent |
Returns | |
---|---|
int |
The size this view should be. |
getDisplay
public Display getDisplay ()
Gets the logical display to which the view's window has been attached.
Returns | |
---|---|
Display |
The logical display, or null if the view is not currently attached to a window. |
getDrawableState
public final int[] getDrawableState ()
Return an array of resource IDs of the drawable states representing the current state of the view.
Returns | |
---|---|
int[] |
The current drawable state |
getDrawingCache
public Bitmap getDrawingCache ()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Calling this method is equivalent to calling getDrawingCache(false)
.
Returns | |
---|---|
Bitmap |
A non-scaled bitmap representing this view or null if cache is disabled. |
See also:
getDrawingCache
public Bitmap getDrawingCache (boolean autoScale)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Returns the bitmap in which this view drawing is cached. The returned bitmap
is null when caching is disabled. If caching is enabled and the cache is not ready,
this method will create it. Calling draw(android.graphics.Canvas)
will not
draw from the cache when the cache is enabled. To benefit from the cache, you must
request the drawing cache by calling this method and draw it on screen if the
returned bitmap is not null.
Note about auto scaling in compatibility mode: When auto scaling is not enabled, this method will create a bitmap of the same size as this view. Because this bitmap will be drawn scaled by the parent ViewGroup, the result on screen might show scaling artifacts. To avoid such artifacts, you should call this method by setting the auto scaling to true. Doing so, however, will generate a bitmap of a different size than the view. This implies that your application must be able to handle this size.
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. |
getDrawingCacheBackgroundColor
public int getDrawingCacheBackgroundColor ()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Returns | |
---|---|
int |
The background color to used for the drawing cache's bitmap |
See also:
getDrawingCacheQuality
public int getDrawingCacheQuality ()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Returns the quality of the drawing cache.
Related XML Attributes:
Returns | |
---|---|
int |
One of DRAWING_CACHE_QUALITY_AUTO ,
DRAWING_CACHE_QUALITY_LOW , or DRAWING_CACHE_QUALITY_HIGH
Value is DRAWING_CACHE_QUALITY_LOW , DRAWING_CACHE_QUALITY_HIGH , or DRAWING_CACHE_QUALITY_AUTO |
getDrawingRect
public void getDrawingRect (Rect outRect)
Return the visible drawing bounds of your view. Fills in the output
rectangle with the values from getScrollX(), getScrollY(),
getWidth(), and getHeight(). These bounds do not account for any
transformation properties currently set on the view, such as
setScaleX(float)
or setRotation(float)
.
Parameters | |
---|---|
outRect |
Rect : The (scrolled) drawing bounds of the view. |
getDrawingTime
public long getDrawingTime ()
Return the time at which the drawing of the view hierarchy started.
Returns | |
---|---|
long |
the drawing start time in milliseconds |
getElevation
public float getElevation ()
The base elevation of this view relative to its parent, in pixels.
Returns | |
---|---|
float |
The base depth position of the view, in pixels. |
getExplicitStyle
public int getExplicitStyle ()
Returns the resource ID for the style specified using style="..."
in the
AttributeSet
's backing XML element or Resources#ID_NULL
otherwise if not
specified or otherwise not applicable.
Each View
can have an explicit style specified in the layout file.
This style is used first during the View
attribute resolution, then if an attribute
is not defined there the resource system looks at default style and theme as fallbacks.
Note: this method will only return actual values if the view attribute debugging is enabled in Android developer options.
Returns | |
---|---|
int |
The resource ID for the style specified using style="..." in the
AttributeSet 's backing XML element or Resources#ID_NULL otherwise
if not specified or otherwise not applicable. |
getFilterTouchesWhenObscured
public boolean getFilterTouchesWhenObscured ()
Gets whether the framework should discard touches when the view's
window is obscured by another visible window at the touched location.
Refer to the View
security documentation for more details.
Related XML Attributes:
Returns | |
---|---|
boolean |
True if touch filtering is enabled. |
See also:
getFitsSystemWindows
public boolean getFitsSystemWindows ()
Check for state of setFitsSystemWindows(boolean)
. If this method
returns true
, the default implementation of fitSystemWindows(android.graphics.Rect)
will be executed.
Related XML Attributes:
Returns | |
---|---|
boolean |
true if the default implementation of
fitSystemWindows(android.graphics.Rect) will be executed. |
getFocusable
public int getFocusable ()
Returns the focusable setting for this view.
Related XML Attributes:
Returns | |
---|---|
int |
One of NOT_FOCUSABLE , FOCUSABLE , or FOCUSABLE_AUTO .
Value is NOT_FOCUSABLE , FOCUSABLE , or FOCUSABLE_AUTO |
getFocusables
public ArrayList<View> getFocusables (int direction)
Find and return all focusable views that are descendants of this view, possibly including this view if it is focusable itself.
Parameters | |
---|---|
direction |
int : The direction of the focus
Value is FOCUS_BACKWARD , FOCUS_FORWARD , FOCUS_LEFT , FOCUS_UP , FOCUS_RIGHT , or FOCUS_DOWN |
Returns | |
---|---|
ArrayList<View> |
A list of focusable views |
getFocusedRect
public void getFocusedRect (Rect r)
When a view has focus and the user navigates away from it, the next view is searched for
starting from the rectangle filled in by this method.
By default, the rectangle is the getDrawingRect(android.graphics.Rect)
)
of the view. However, if your view maintains some idea of internal selection,
such as a cursor, or a selected row or column, you should override this method and
fill in a more specific rectangle.
Parameters | |
---|---|
r |
Rect : The rectangle to fill in, in this view's coordinates. |
getForeground
public Drawable getForeground ()
Returns the drawable used as the foreground of this View. The foreground drawable, if non-null, is always drawn on top of the view's content.
Returns | |
---|---|
Drawable |
a Drawable or null if no foreground was set |
See also:
getForegroundGravity
public int getForegroundGravity ()
Describes how the foreground is positioned.
Related XML Attributes:
Returns | |
---|---|
int |
foreground gravity. |
See also:
getForegroundTintBlendMode
public BlendMode getForegroundTintBlendMode ()
Return the blending mode used to apply the tint to the foreground drawable, if specified.
Related XML Attributes:
Returns | |
---|---|
BlendMode |
the blending mode used to apply the tint to the foreground
drawable
This value may be null . |
See also:
getForegroundTintList
public ColorStateList getForegroundTintList ()
Return the tint applied to the foreground drawable, if specified.
Related XML Attributes:
Returns | |
---|---|
ColorStateList |
the tint applied to the foreground drawable
This value may be null . |
See also:
getForegroundTintMode
public PorterDuff.Mode getForegroundTintMode ()
Return the blending mode used to apply the tint to the foreground drawable, if specified.
Related XML Attributes:
Returns | |
---|---|
PorterDuff.Mode |
the blending mode used to apply the tint to the foreground
drawable
This value may be null . |
See also:
getFrameContentVelocity
public float getFrameContentVelocity ()
Get the current velocity of the View. The value should always be greater than or equal to 0. Note that this is only valid till the next drawn frame.
Returns | |
---|---|
float |
0 by default, or value passed to setFrameContentVelocity(float) . |
getGlobalVisibleRect
public final boolean getGlobalVisibleRect (Rect r)
Sets r
to the coordinates of the non-clipped area of this view in
the coordinate space of the view's root view.
See getGlobalVisibleRect(Rect, Point)
for more information.
Parameters | |
---|---|
r |
Rect : If the method returns true, contains the coordinates of the
visible portion of this view in the coordinate space of the view's
root view. If the method returns false, the contents of r
are undefined. |
Returns | |
---|---|
boolean |
true if at least part of the view is visible within the root view; otherwise false. |
getGlobalVisibleRect
public boolean getGlobalVisibleRect (Rect r, Point globalOffset)
Sets r
to the coordinates of the non-clipped area of this view in
the coordinate space of the view's root view. Sets globalOffset
to the offset of the view's x and y coordinates from the coordinate space
origin, which is the top left corner of the root view irrespective of
screen decorations and system UI elements.
To convert r
to coordinates relative to the top left corner of
this view (without taking view rotations into account), offset r
by the inverse values of
globalOffset
—r.offset(-globalOffset.x,
-globalOffset.y)
—which is equivalent to calling
getLocalVisibleRect(Rect)
.
Note: Do not use this method to determine the size of a window
in multi-window mode; use
WindowManager#getCurrentWindowMetrics()
.
Parameters | |
---|---|
r |
Rect : If the method returns true, contains the coordinates of the
visible portion of this view in the coordinate space of the view's
root view. If the method returns false, the contents of r
are undefined. |
globalOffset |
Point : If the method returns true, contains the offset of
the x and y coordinates of this view from the top left corner of the
view's root view. If the method returns false, the contents of
globalOffset are undefined. The argument can be null (see
getGlobalVisibleRect(Rect) . |
Returns | |
---|---|
boolean |
true if at least part of the view is visible within the root view; false if the view is completely clipped or translated out of the visible area of the root view. |
See also:
getHandler
public 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. |
getHandwritingBoundsOffsetBottom
public float getHandwritingBoundsOffsetBottom ()
Return the amount of offset applied to the bottom edge of this view's handwriting bounds, in the unit of pixel.
Returns | |
---|---|
float |
getHandwritingBoundsOffsetLeft
public float getHandwritingBoundsOffsetLeft ()
Return the amount of offset applied to the left edge of this view's handwriting bounds, in the unit of pixel.
Returns | |
---|---|
float |
getHandwritingBoundsOffsetRight
public float getHandwritingBoundsOffsetRight ()
Return the amount of offset applied to the right edge of this view's handwriting bounds, in the unit of pixel.
Returns | |
---|---|
float |
getHandwritingBoundsOffsetTop
public float getHandwritingBoundsOffsetTop ()
Return the amount of offset applied to the top edge of this view's handwriting bounds, in the unit of pixel.
Returns | |
---|---|
float |
getHandwritingDelegateFlags
public int getHandwritingDelegateFlags ()
Returns flags configuring the handwriting delegation behavior for this delegate editor view,
as set by setHandwritingDelegateFlags(int)
.
Returns | |
---|---|
int |
Value is either 0 or InputMethodManager.HANDWRITING_DELEGATE_FLAG_HOME_DELEGATOR_ALLOWED |
getHandwritingDelegatorCallback
public Runnable getHandwritingDelegatorCallback ()
Returns the callback set by setHandwritingDelegatorCallback(Runnable)
which should be called
when a stylus MotionEvent
occurs within this view's bounds. The callback should only
be called from the UI thread.
Returns | |
---|---|
Runnable |
This value may be null . |
getHasOverlappingRendering
public final boolean getHasOverlappingRendering ()
Returns the value for overlapping rendering that is used internally. This is either
the value passed into forceHasOverlappingRendering(boolean)
, if called, or
the return value of hasOverlappingRendering()
, otherwise.
Returns | |
---|---|
boolean |
The value for overlapping rendering being used internally. |
getHeight
public final int getHeight ()
Return the height of your view.
Returns | |
---|---|
int |
The height of your view, in pixels. |
getHitRect
public void getHitRect (Rect outRect)
Hit rectangle in parent's coordinates
Parameters | |
---|---|
outRect |
Rect : The hit rectangle of the view. |
getHorizontalFadingEdgeLength
public int getHorizontalFadingEdgeLength ()
Returns the size of the horizontal faded edges used to indicate that more content in this view is visible.
Related XML Attributes:
Returns | |
---|---|
int |
The size in pixels of the horizontal faded edge or 0 if horizontal faded edges are not enabled for this view. |
getHorizontalScrollbarThumbDrawable
public Drawable getHorizontalScrollbarThumbDrawable ()
Returns the currently configured Drawable for the thumb of the horizontal scroll bar if it exists, null otherwise.
Returns | |
---|---|
Drawable |
getHorizontalScrollbarTrackDrawable
public Drawable getHorizontalScrollbarTrackDrawable ()
Returns the currently configured Drawable for the track of the horizontal scroll bar if it exists, null otherwise.
Returns | |
---|---|
Drawable |
getId
public int getId ()
Returns this view's identifier.
Related XML Attributes:
Returns | |
---|---|
int |
a positive integer used to identify the view or NO_ID
if the view has no ID |
See also:
getImportantForAccessibility
public int getImportantForAccessibility ()
Gets the mode for determining whether this View is important for accessibility. A view is important for accessibility if it fires accessibility events and if it is reported to accessibility services that query the screen.
Related XML Attributes:
Returns | |
---|---|
int |
The mode for determining whether a view is important for accessibility, one
of IMPORTANT_FOR_ACCESSIBILITY_AUTO , IMPORTANT_FOR_ACCESSIBILITY_YES ,
IMPORTANT_FOR_ACCESSIBILITY_NO , or
IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS . |
getImportantForAutofill
public int getImportantForAutofill ()
Gets the mode for determining whether this view is important for autofill.
See setImportantForAutofill(int)
and isImportantForAutofill()
for more
info about this mode.
Related XML Attributes:
Returns | |
---|---|
int |
IMPORTANT_FOR_AUTOFILL_AUTO by default, or value passed to
setImportantForAutofill(int) .
Value is IMPORTANT_FOR_AUTOFILL_AUTO , IMPORTANT_FOR_AUTOFILL_YES , IMPORTANT_FOR_AUTOFILL_NO , IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS , or IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS |
getImportantForContentCapture
public int getImportantForContentCapture ()
Gets the mode for determining whether this view is important for content capture.
See setImportantForContentCapture(int)
and
isImportantForContentCapture()
for more info about this mode.
Related XML Attributes:
getKeepScreenOn
public boolean getKeepScreenOn ()
Returns whether the screen should remain on, corresponding to the current
value of KEEP_SCREEN_ON
.
Related XML Attributes:
Returns | |
---|---|
boolean |
Returns true if KEEP_SCREEN_ON is set. |
See also:
getKeyDispatcherState
public KeyEvent.DispatcherState getKeyDispatcherState ()
Return the global KeyEvent.DispatcherState
for this view's window. Returns null if the view is not currently attached
to the window. Normally you will not need to use this directly, but
just use the standard high-level event callbacks like
onKeyDown(int, android.view.KeyEvent)
.
Returns | |
---|---|
KeyEvent.DispatcherState |
getLabelFor
public int getLabelFor ()
Gets the id of a view for which this view serves as a label for accessibility purposes.
Returns | |
---|---|
int |
The labeled view id. |
getLayerType
public int getLayerType ()
Indicates what type of layer is currently associated with this view. By default
a view does not have a layer, and the layer type is LAYER_TYPE_NONE
.
Refer to the documentation of setLayerType(int, android.graphics.Paint)
for more information on the different types of layers.
Returns | |
---|---|
int |
LAYER_TYPE_NONE , LAYER_TYPE_SOFTWARE or
LAYER_TYPE_HARDWARE
Value is LAYER_TYPE_NONE , LAYER_TYPE_SOFTWARE , or LAYER_TYPE_HARDWARE |
getLayoutDirection
public int getLayoutDirection ()
Returns the resolved layout direction for this view.
Related XML Attributes:
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 Build.VERSION_CODES.JELLY_BEAN_MR1 .
Value is LAYOUT_DIRECTION_LTR , or LAYOUT_DIRECTION_RTL |
getLayoutParams
public ViewGroup.LayoutParams getLayoutParams ()
Get the LayoutParams associated with this view. All views should have
layout parameters. These supply parameters to the parent of this
view specifying how it should be arranged. There are many subclasses of
ViewGroup.LayoutParams, and these correspond to the different subclasses
of ViewGroup that are responsible for arranging their children.
This method may return null if this View is not attached to a parent
ViewGroup or setLayoutParams(android.view.ViewGroup.LayoutParams)
was not invoked successfully. When a View is attached to a parent
ViewGroup, this method must not return null.
Returns | |
---|---|
ViewGroup.LayoutParams |
The LayoutParams associated with this view, or null if no parameters have been set yet |
getLeft
public final int getLeft ()
Left position of this view relative to its parent.
Returns | |
---|---|
int |
The left edge of this view, in pixels. |
getLocalVisibleRect
public final boolean getLocalVisibleRect (Rect r)
Sets r
to the coordinates of the non-clipped area of this view
relative to the top left corner of the view.
If the view is clipped on the left or top, the left and top coordinates are offset from 0 by the clipped amount. For example, if the view is off screen 50px on the left and 30px at the top, the left and top coordinates are 50 and 30 respectively.
If the view is clipped on the right or bottom, the right and bottom coordinates are reduced by the clipped amount. For example, if the view is off screen 40px on the right and 20px at the bottom, the right coordinate is the view width - 40, and the bottom coordinate is the view height - 20.
Parameters | |
---|---|
r |
Rect : If the method returns true, contains the coordinates of the
visible portion of this view relative to the top left corner of the
view. If the method returns false, the contents of r are
undefined. |
Returns | |
---|---|
boolean |
true if at least part of the view is visible; false if the view is completely clipped or translated out of the visible area. |
See also:
getLocationInSurface
public void getLocationInSurface (int[] location)
Gets the coordinates of this view in the coordinate space of the
Surface
that contains the view.
In multiple-screen scenarios, if the surface spans multiple screens, the coordinate space of the surface also spans multiple screens.
After the method returns, the argument array contains the x and y coordinates of the view relative to the view's left and top edges, respectively.
Parameters | |
---|---|
location |
int : A two-element integer array in which the view coordinates
are stored. The x-coordinate is at index 0; the y-coordinate, at
index 1.
This value cannot be null . |
getLocationInWindow
public void getLocationInWindow (int[] outLocation)
Gets the coordinates of this view in the coordinate space of the window that contains the view, irrespective of system decorations.
In multi-window mode, the origin of the coordinate space is the top left corner of the window that contains the view. In full screen mode, the origin is the top left corner of the device screen.
In multiple-screen scenarios, if the app spans multiple screens, the coordinate space also spans multiple screens. But if the app is restricted to a single screen, the coordinate space includes only the screen on which the app is running.
After the method returns, the argument array contains the x and y coordinates of the view relative to the view's left and top edges, respectively.
Parameters | |
---|---|
outLocation |
int : A two-element integer array in which the view
coordinates are stored. The x-coordinate is at index 0; the
y-coordinate, at index 1. |
getLocationOnScreen
public void getLocationOnScreen (int[] outLocation)
Gets the coordinates of this view in the coordinate space of the device screen, irrespective of system decorations and whether the system is in multi-window mode.
In multi-window mode, the coordinate space encompasses the entire device screen, ignoring the bounds of the app window. For example, if the view is in the bottom portion of a horizontal split screen, the top edge of the screen—not the top edge of the window—is the origin from which the y-coordinate is calculated.
In multiple-screen scenarios, the coordinate space can span screens. For example, if the app is spanning both screens of a dual-screen device and the view is located on the right-hand screen, the x-coordinate is calculated from the left edge of the left-hand screen to the left edge of the view. When the app is restricted to a single screen in a multiple-screen environment, the coordinate space includes only the screen on which the app is running.
After the method returns, the argument array contains the x and y coordinates of the view relative to the view's left and top edges, respectively.
Parameters | |
---|---|
outLocation |
int : A two-element integer array in which the view
coordinates are stored. The x-coordinate is at index 0; the
y-coordinate, at index 1. |
getMatrix
public Matrix getMatrix ()
The transform matrix of this view, which is calculated based on the current rotation, scale, and pivot properties.
Returns | |
---|---|
Matrix |
The current transform matrix for the view |
getMeasuredHeight
public final int getMeasuredHeight ()
Like getMeasuredHeightAndState()
, but only returns the
raw height component (that is the result is masked by
MEASURED_SIZE_MASK
).
Returns | |
---|---|
int |
The raw measured height of this view. |
getMeasuredHeightAndState
public final int getMeasuredHeightAndState ()
Return the full height measurement information for this view as computed
by the most recent call to measure(int, int)
. This result is a bit mask
as defined by MEASURED_SIZE_MASK
and MEASURED_STATE_TOO_SMALL
.
This should be used during measurement and layout calculations only. Use
getHeight()
to see how high a view is after layout.
Returns | |
---|---|
int |
The measured height of this view as a bit mask. |
getMeasuredState
public final int getMeasuredState ()
Return only the state bits of getMeasuredWidthAndState()
and getMeasuredHeightAndState()
, combined into one integer.
The width component is in the regular bits MEASURED_STATE_MASK
and the height component is at the shifted bits
MEASURED_HEIGHT_STATE_SHIFT
>>MEASURED_STATE_MASK
.
Returns | |
---|---|
int |
getMeasuredWidth
public final int getMeasuredWidth ()
Like getMeasuredWidthAndState()
, but only returns the
raw width component (that is the result is masked by
MEASURED_SIZE_MASK
).
Returns | |
---|---|
int |
The raw measured width of this view. |
getMeasuredWidthAndState
public final int getMeasuredWidthAndState ()
Return the full width measurement information for this view as computed
by the most recent call to measure(int, int)
. This result is a bit mask
as defined by MEASURED_SIZE_MASK
and MEASURED_STATE_TOO_SMALL
.
This should be used during measurement and layout calculations only. Use
getWidth()
to see how wide a view is after layout.
Returns | |
---|---|
int |
The measured width of this view as a bit mask. |
getMinimumHeight
public int getMinimumHeight ()
Returns the minimum height of the view.
Related XML Attributes:
Returns | |
---|---|
int |
the minimum height the view will try to be, in pixels |
See also:
getMinimumWidth
public int getMinimumWidth ()
Returns the minimum width of the view.
Related XML Attributes:
Returns | |
---|---|
int |
the minimum width the view will try to be, in pixels |
See also:
getNextClusterForwardId
public int getNextClusterForwardId ()
Gets the id of the root of the next keyboard navigation cluster.
Related XML Attributes:
Returns | |
---|---|
int |
The next keyboard navigation cluster ID, or NO_ID if the framework should
decide automatically. |
getNextFocusDownId
public int getNextFocusDownId ()
Gets the id of the view to use when the next focus is FOCUS_DOWN
.
Related XML Attributes:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
getNextFocusForwardId
public int getNextFocusForwardId ()
Gets the id of the view to use when the next focus is FOCUS_FORWARD
.
Related XML Attributes:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
getNextFocusLeftId
public int getNextFocusLeftId ()
Gets the id of the view to use when the next focus is FOCUS_LEFT
.
Related XML Attributes:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
getNextFocusRightId
public int getNextFocusRightId ()
Gets the id of the view to use when the next focus is FOCUS_RIGHT
.
Related XML Attributes:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
getNextFocusUpId
public int getNextFocusUpId ()
Gets the id of the view to use when the next focus is FOCUS_UP
.
Related XML Attributes:
Returns | |
---|---|
int |
The next focus ID, or NO_ID if the framework should decide automatically. |
getOnFocusChangeListener
public View.OnFocusChangeListener getOnFocusChangeListener ()
Returns the focus-change callback registered for this view.
Returns | |
---|---|
View.OnFocusChangeListener |
The callback, or null if one is not registered. |
getOutlineAmbientShadowColor
public int getOutlineAmbientShadowColor ()
Returns | |
---|---|
int |
The shadow color set by setOutlineAmbientShadowColor(int) , or black if
nothing was set |
getOutlineProvider
public ViewOutlineProvider getOutlineProvider ()
Returns the current ViewOutlineProvider
of the view, which generates the Outline
that defines the shape of the shadow it casts, and enables outline clipping.
Returns | |
---|---|
ViewOutlineProvider |
See also:
getOutlineSpotShadowColor
public int getOutlineSpotShadowColor ()
Returns | |
---|---|
int |
The shadow color set by setOutlineSpotShadowColor(int) , or black if nothing
was set |
getOverScrollMode
public int getOverScrollMode ()
Returns the over-scroll mode for this view. The result will be
one of OVER_SCROLL_ALWAYS
, OVER_SCROLL_IF_CONTENT_SCROLLS
(allow over-scrolling only if the view content is larger than the container),
or OVER_SCROLL_NEVER
.
Returns | |
---|---|
int |
This view's over-scroll mode. |
getOverlay
public ViewOverlay getOverlay ()
Returns the overlay for this view, creating it if it does not yet exist. Adding drawables to the overlay will cause them to be displayed whenever the view itself is redrawn. Objects in the overlay should be actively managed: remove them when they should not be displayed anymore. The overlay will always have the same size as its host view.
Note: Overlays do not currently work correctly with SurfaceView
or TextureView
; contents in overlays for these
types of views may not display correctly.
Returns | |
---|---|
ViewOverlay |
The ViewOverlay object for this view. |
See also:
getPaddingBottom
public int getPaddingBottom ()
Returns the bottom padding of this view. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.
Returns | |
---|---|
int |
the bottom padding in pixels |
getPaddingEnd
public int getPaddingEnd ()
Returns the end padding of this view depending on its resolved layout direction. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.
Returns | |
---|---|
int |
the end padding in pixels |
getPaddingLeft
public int getPaddingLeft ()
Returns the left padding of this view. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.
Returns | |
---|---|
int |
the left padding in pixels |
getPaddingRight
public int getPaddingRight ()
Returns the right padding of this view. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.
Returns | |
---|---|
int |
the right padding in pixels |
getPaddingStart
public int getPaddingStart ()
Returns the start padding of this view depending on its resolved layout direction. If there are inset and enabled scrollbars, this value may include the space required to display the scrollbars as well.
Returns | |
---|---|
int |
the start padding in pixels |
getPaddingTop
public int getPaddingTop ()
Returns the top padding of this view.
Returns | |
---|---|
int |
the top padding in pixels |
getParent
public final ViewParent getParent ()
Gets the parent of this view. Note that the parent is a ViewParent and not necessarily a View.
Returns | |
---|---|
ViewParent |
Parent of this view. |
getParentForAccessibility
public ViewParent getParentForAccessibility ()
Gets the parent for accessibility purposes. Note that the parent for accessibility is not necessary the immediate parent. It is the first predecessor that is important for accessibility.
Returns | |
---|---|
ViewParent |
The parent for accessibility purposes. |
getPendingCredentialCallback
public final OutcomeReceiver<GetCredentialResponse, GetCredentialException> getPendingCredentialCallback ()
Returns the callback that has previously been set up on this view through
the setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver)
API.
If the return value is null, that means no callback, or request, has been set
on the view and no CredentialManager
flow will be invoked
when this view is focused. Traditioanl autofill flows will still
work, and autofillable content will still be returned through the
autofill(android.view.autofill.AutofillValue)
)} API.
See setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver)
for more info.
Returns | |
---|---|
OutcomeReceiver<GetCredentialResponse, GetCredentialException> |
The callback associated with this view that will be invoked on a response from
CredentialManager . |
getPendingCredentialRequest
public final GetCredentialRequest getPendingCredentialRequest ()
Returns the GetCredentialRequest
associated with the view.
If the return value is null, that means no request has been set
on the view and no CredentialManager
flow will be invoked
when this view is focused. Traditioanl autofill flows will still
work, autofilling content if applicable, from
the active AutofillService
on
the device.
See setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver)
for more info.
Returns | |
---|---|
GetCredentialRequest |
The credential request associated with this View. |
getPivotX
public float getPivotX ()
The x location of the point around which the view is rotated
and scaled
.
Related XML Attributes:
Returns | |
---|---|
float |
The x location of the pivot point. |
getPivotY
public float getPivotY ()
The y location of the point around which the view is rotated
and scaled
.
Related XML Attributes:
Returns | |
---|---|
float |
The y location of the pivot point. |
getPointerIcon
public PointerIcon getPointerIcon ()
Gets the mouse pointer icon for the current view.
Returns | |
---|---|
PointerIcon |
See also:
getPreferKeepClearRects
public final List<Rect> getPreferKeepClearRects ()
Returns | |
---|---|
List<Rect> |
the list of rects, set by setPreferKeepClearRects(List) .
This value cannot be null . |
See also:
getReceiveContentMimeTypes
public String[] getReceiveContentMimeTypes ()
Returns the MIME types accepted by performReceiveContent(ContentInfo)
for this view, as
configured via setOnReceiveContentListener(String, OnReceiveContentListener)
. By default returns null.
Different features (e.g. pasting from the clipboard, inserting stickers from the soft keyboard, etc) may optionally use this metadata to conditionally alter their behavior. For example, a soft keyboard may choose to hide its UI for inserting GIFs for a particular input field if the MIME types returned here for that field don't include "image/gif" or "image/*".
Note: Comparisons of MIME types should be performed using utilities such as
ClipDescription#compareMimeTypes
rather than simple string equality, in order to
correctly handle patterns such as "text/*", "image/*", etc. Note that MIME type matching
in the Android framework is case-sensitive, unlike formal RFC MIME types. As a result,
you should always write your MIME types with lowercase letters, or use
Intent.normalizeMimeType(String)
to ensure that it is converted to
lowercase.
Returns | |
---|---|
String[] |
The MIME types accepted by performReceiveContent(ContentInfo) for this view (may
include patterns such as "image/*"). |
getRequestedFrameRate
public float getRequestedFrameRate ()
Get the current preferred frame rate of the View. The value could be negative when preferred frame rate category is set instead of perferred frame rate. The frame rate category includes REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE, REQUESTED_FRAME_RATE_CATEGORY_LOW, REQUESTED_FRAME_RATE_CATEGORY_NORMAL, and REQUESTED_FRAME_RATE_CATEGORY_HIGH. Note that the frame rate value is valid as long as the View is invalidated.
Returns | |
---|---|
float |
REQUESTED_FRAME_RATE_CATEGORY_DEFAULT by default,
or value passed to setRequestedFrameRate(float) . |
getResources
public Resources getResources ()
Returns the resources associated with this view.
Returns | |
---|---|
Resources |
Resources object. |
getRevealOnFocusHint
public final boolean getRevealOnFocusHint ()
Returns this view's preference for reveal behavior when it gains focus.
When this method returns true for a child view requesting focus, ancestor
views responding to a focus change in ViewParent#requestChildFocus(View, View)
should make a best effort to make the newly focused child fully visible to the user.
When it returns false, ancestor views should preferably not disrupt scroll positioning or
other properties affecting visibility to the user as part of the focus change.
Returns | |
---|---|
boolean |
true if this view would prefer to become fully visible when it gains focus, false if it would prefer not to disrupt scroll positioning |
See also:
getRight
public final int getRight ()
Right position of this view relative to its parent.
Returns | |
---|---|
int |
The right edge of this view, in pixels. |
getRootSurfaceControl
public AttachedSurfaceControl getRootSurfaceControl ()
The AttachedSurfaceControl itself is not a View, it is just the interface to the
windowing-system object that contains the entire view hierarchy.
For the root View of a given hierarchy see getRootView()
.
Returns | |
---|---|
AttachedSurfaceControl |
The AttachedSurfaceControl interface for this View.
This will only return a non-null value when called between onAttachedToWindow()
and onDetachedFromWindow() . |
getRootView
public View getRootView ()
Finds the topmost view in the current view hierarchy.
Returns | |
---|---|
View |
the topmost view containing this view |
getRootWindowInsets
public WindowInsets getRootWindowInsets ()
Provide original WindowInsets that are dispatched to the view hierarchy. The insets are only available if the view is attached.
Returns | |
---|---|
WindowInsets |
WindowInsets from the top of the view hierarchy or null if View is detached |
getRotation
public float getRotation ()
The degrees that the view is rotated around the pivot point.
Returns | |
---|---|
float |
The degrees of rotation. |
See also:
getRotationX
public float getRotationX ()
The degrees that the view is rotated around the horizontal axis through the pivot point.
Returns | |
---|---|
float |
The degrees of X rotation. |
getRotationY
public float getRotationY ()
The degrees that the view is rotated around the vertical axis through the pivot point.
Returns | |
---|---|
float |
The degrees of Y rotation. |
getScaleX
public float getScaleX ()
The amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width. A value of 1, the default, means that no scaling is applied.
By default, this is 1.0f.
Returns | |
---|---|
float |
The scaling factor. |
See also:
getScaleY
public float getScaleY ()
The amount that the view is scaled in y around the pivot point, as a proportion of the view's unscaled height. A value of 1, the default, means that no scaling is applied.
By default, this is 1.0f.
Returns | |
---|---|
float |
The scaling factor. |
See also:
getScrollBarDefaultDelayBeforeFade
public int getScrollBarDefaultDelayBeforeFade ()
Returns the delay before scrollbars fade.
Related XML Attributes:
Returns | |
---|---|
int |
the delay before scrollbars fade |
getScrollBarFadeDuration
public int getScrollBarFadeDuration ()
Returns the scrollbar fade duration.
Related XML Attributes:
Returns | |
---|---|
int |
the scrollbar fade duration, in milliseconds |
getScrollBarSize
public int getScrollBarSize ()
Returns the scrollbar size.
Related XML Attributes:
Returns | |
---|---|
int |
the scrollbar size |
getScrollBarStyle
public int getScrollBarStyle ()
Returns the current scrollbar style.
Related XML Attributes:
Returns | |
---|---|
int |
the current scrollbar style
Value is SCROLLBARS_INSIDE_OVERLAY , SCROLLBARS_INSIDE_INSET , SCROLLBARS_OUTSIDE_OVERLAY , or SCROLLBARS_OUTSIDE_INSET |
getScrollCaptureHint
public int getScrollCaptureHint ()
Returns the current scroll capture hint for this view.
Returns | |
---|---|
int |
the current scroll capture hint
Value is either 0 or a combination of SCROLL_CAPTURE_HINT_AUTO , SCROLL_CAPTURE_HINT_EXCLUDE , SCROLL_CAPTURE_HINT_INCLUDE , and SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS |
getScrollIndicators
public int getScrollIndicators ()
Returns a bitmask representing the enabled scroll indicators.
For example, if the top and left scroll indicators are enabled and all
other indicators are disabled, the return value will be
View.SCROLL_INDICATOR_TOP | View.SCROLL_INDICATOR_LEFT
.
To check whether the bottom scroll indicator is enabled, use the value
of (getScrollIndicators() & View.SCROLL_INDICATOR_BOTTOM) != 0
.
Returns | |
---|---|
int |
a bitmask representing the enabled scroll indicators
Value is either 0 or a combination of SCROLL_INDICATOR_TOP , SCROLL_INDICATOR_BOTTOM , SCROLL_INDICATOR_LEFT , SCROLL_INDICATOR_RIGHT , SCROLL_INDICATOR_START , and SCROLL_INDICATOR_END |
getScrollX
public final int getScrollX ()
Return the scrolled left position of this view. This is the left edge of the displayed part of your view. You do not need to draw any pixels farther left, since those are outside of the frame of your view on screen.
Returns | |
---|---|
int |
The left edge of the displayed part of your view, in pixels. |
getScrollY
public final int getScrollY ()
Return the scrolled top position of this view. This is the top edge of the displayed part of your view. You do not need to draw any pixels above it, since those are outside of the frame of your view on screen.
Returns | |
---|---|
int |
The top edge of the displayed part of your view, in pixels. |
getSolidColor
public int getSolidColor ()
Override this if your view is known to always be drawn on top of a solid color background, and needs to draw fading edges. Returning a non-zero color enables the view system to optimize the drawing of the fading edges. If you do return a non-zero color, the alpha should be set to 0xFF.
Returns | |
---|---|
int |
The known solid color background for this view, or 0 if the color may vary |
getSourceLayoutResId
public int getSourceLayoutResId ()
A View
can be inflated from an XML layout. For such Views this method returns the
resource ID of the source layout.
Returns | |
---|---|
int |
The layout resource id if this view was inflated from XML, otherwise
Resources#ID_NULL . |
getStateDescription
public final CharSequence getStateDescription ()
Returns the View
's state description.
Note: Do not override this method, as it will have no
effect on the state description presented to accessibility services.
You must call setStateDescription(java.lang.CharSequence)
to modify the
state description.
Returns | |
---|---|
CharSequence |
the state description
This value may be null . |
See also:
getStateListAnimator
public StateListAnimator getStateListAnimator ()
Returns the current StateListAnimator if exists.
Returns | |
---|---|
StateListAnimator |
StateListAnimator or null if it does not exists |
getSystemGestureExclusionRects
public List<Rect> getSystemGestureExclusionRects ()
Retrieve the list of areas within this view's post-layout coordinate space where the system should not intercept touch or other pointing device gestures.
Do not modify the returned list.
Returns | |
---|---|
List<Rect> |
the list set by setSystemGestureExclusionRects(java.util.List)
This value cannot be null . |
getSystemUiVisibility
public int getSystemUiVisibility ()
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use WindowInsetsController
instead.
Returns the last setSystemUiVisibility(int)
that this view has requested.
getTag
public Object getTag ()
Returns this view's tag.
Returns | |
---|---|
Object |
the Object stored in this view as a tag, or null if not
set |
See also:
getTag
public Object getTag (int key)
Returns the tag associated with this view and the specified 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 |
See also:
getTextAlignment
public int getTextAlignment ()
Return the resolved text alignment.
Related XML Attributes:
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
Value is TEXT_ALIGNMENT_INHERIT , TEXT_ALIGNMENT_GRAVITY , TEXT_ALIGNMENT_CENTER , TEXT_ALIGNMENT_TEXT_START , TEXT_ALIGNMENT_TEXT_END , TEXT_ALIGNMENT_VIEW_START , or TEXT_ALIGNMENT_VIEW_END |
getTextDirection
public int getTextDirection ()
Return the resolved text direction.
Related XML Attributes:
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 |
getTooltipText
public CharSequence getTooltipText ()
Returns the view's tooltip text.
Note: Do not override this method, as it will have no
effect on the text displayed in the tooltip. You must call
setTooltipText(java.lang.CharSequence)
to modify the tooltip text.
Related XML Attributes:
Returns | |
---|---|
CharSequence |
the tooltip text
This value may be null . |
See also:
getTop
public final int getTop ()
Top position of this view relative to its parent.
Returns | |
---|---|
int |
The top of this view, in pixels. |
getTouchDelegate
public TouchDelegate getTouchDelegate ()
Gets the TouchDelegate for this View.
Returns | |
---|---|
TouchDelegate |
getTouchables
public ArrayList<View> getTouchables ()
Find and return all touchable views that are descendants of this view, possibly including this view if it is touchable itself.
Returns | |
---|---|
ArrayList<View> |
A list of touchable views |
getTransitionAlpha
public float getTransitionAlpha ()
This property is intended only for use by the Fade transition, which animates it to produce a visual translucency that does not side-effect (or get affected by) the real alpha property. This value is composited with the other alpha value (and the AlphaAnimation value, when that is present) to produce a final visual translucency result, which is what is passed into the DisplayList.
Returns | |
---|---|
float |
getTransitionName
public String getTransitionName ()
Returns the name of the View to be used to identify Views in Transitions. Names should be unique in the View hierarchy.
This returns null if the View has not been given a name.
Returns | |
---|---|
String |
The name used of the View to be used to identify Views in Transitions or null if no name has been given. |
getTranslationX
public float getTranslationX ()
The horizontal location of this view relative to its left
position.
This position is post-layout, in addition to wherever the object's
layout placed it.
Returns | |
---|---|
float |
The horizontal position of this view relative to its left position, in pixels. |
getTranslationY
public float getTranslationY ()
The vertical location of this view relative to its top
position.
This position is post-layout, in addition to wherever the object's
layout placed it.
Returns | |
---|---|
float |
The vertical position of this view relative to its top position, in pixels. |
getTranslationZ
public float getTranslationZ ()
The depth location of this view relative to its elevation
.
Returns | |
---|---|
float |
The depth of this view relative to its elevation. |
getUniqueDrawingId
public long getUniqueDrawingId ()
Get the identifier used for this view by the drawing system.
Returns | |
---|---|
long |
A long that uniquely identifies this view's drawing component |
See also:
getVerticalFadingEdgeLength
public int getVerticalFadingEdgeLength ()
Returns the size of the vertical faded edges used to indicate that more content in this view is visible.
Related XML Attributes:
Returns | |
---|---|
int |
The size in pixels of the vertical faded edge or 0 if vertical faded edges are not enabled for this view. |
getVerticalScrollbarPosition
public int getVerticalScrollbarPosition ()
Returns | |
---|---|
int |
The position where the vertical scroll bar will show, if applicable. |
See also:
getVerticalScrollbarThumbDrawable
public Drawable getVerticalScrollbarThumbDrawable ()
Returns the currently configured Drawable for the thumb of the vertical scroll bar if it exists, null otherwise.
Returns | |
---|---|
Drawable |
getVerticalScrollbarTrackDrawable
public Drawable getVerticalScrollbarTrackDrawable ()
Returns the currently configured Drawable for the track of the vertical scroll bar if it exists, null otherwise.
Returns | |
---|---|
Drawable |
getVerticalScrollbarWidth
public int getVerticalScrollbarWidth ()
Returns the width of the vertical scrollbar.
Returns | |
---|---|
int |
The width in pixels of the vertical scrollbar or 0 if there is no vertical scrollbar. |
getViewTranslationResponse
public ViewTranslationResponse getViewTranslationResponse ()
Returns the ViewTranslationResponse
associated with this view. The response will be
set when the translation is done then onViewTranslationResponse(ViewTranslationResponse)
is called. The
ViewTranslationCallback
can use to get ViewTranslationResponse
to display the
translated information.
Returns | |
---|---|
ViewTranslationResponse |
a ViewTranslationResponse that contains the translated information associated
with this view or null if this View doesn't have the translation. |
getViewTreeObserver
public ViewTreeObserver getViewTreeObserver ()
Returns the ViewTreeObserver for this view's hierarchy. The view tree
observer can be used to get notifications when global events, like
layout, happen.
The returned ViewTreeObserver observer is not guaranteed to remain
valid for the lifetime of this View. If the caller of this method keeps
a long-lived reference to ViewTreeObserver, it should always check for
the return value of ViewTreeObserver#isAlive()
.
Returns | |
---|---|
ViewTreeObserver |
The ViewTreeObserver for this view's hierarchy. |
getVisibility
public int getVisibility ()
Returns the visibility status for this view.
Related XML Attributes:
Returns | |
---|---|
int |
One of VISIBLE , INVISIBLE , or GONE .
Value is VISIBLE , INVISIBLE , or GONE |
getWidth
public final int getWidth ()
Return the width of your view.
Returns | |
---|---|
int |
The width of your view, in pixels. |
getWindowId
public WindowId getWindowId ()
Retrieve the WindowId
for the window this view is
currently attached to.
Returns | |
---|---|
WindowId |
getWindowInsetsController
public WindowInsetsController getWindowInsetsController ()
Retrieves the single WindowInsetsController
of the window this view is attached to.
Returns | |
---|---|
WindowInsetsController |
The WindowInsetsController or null if the view is neither attached to
a window nor a view tree with a decor. |
See also:
getWindowSystemUiVisibility
public int getWindowSystemUiVisibility ()
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use WindowInsetsController
instead.
Returns the current system UI visibility that is currently set for
the entire window. This is the combination of the
setSystemUiVisibility(int)
values supplied by all of the
views in the window.
Returns | |
---|---|
int |
getWindowToken
public IBinder getWindowToken ()
Retrieve a unique token identifying the window this view is attached to.
Returns | |
---|---|
IBinder |
Return the window's token for use in
WindowManager.LayoutParams.token .
This token maybe null if this view is not attached to a window. |
getWindowVisibility
public int getWindowVisibility ()
Returns the current visibility of the window this view is attached to
(either GONE
, INVISIBLE
, or VISIBLE
).
Returns | |
---|---|
int |
Returns the current visibility of the view's window.
Value is VISIBLE , INVISIBLE , or GONE |
getWindowVisibleDisplayFrame
public void getWindowVisibleDisplayFrame (Rect outRect)
Retrieve the overall visible display size in which the window this view is attached to has been positioned in. This takes into account screen decorations above the window, for both cases where the window itself is being position inside of them or the window is being placed under then and covered insets are used for the window to position its content inside. In effect, this tells you the available area where content can be placed and remain visible to users.
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. |
getX
public float getX ()
The visual x position of this view, in pixels. This is equivalent to the
translationX
property plus the current
left
property.
Returns | |
---|---|
float |
The visual x position of this view, in pixels. |
getY
public float getY ()
The visual y position of this view, in pixels. This is equivalent to the
translationY
property plus the current
top
property.
Returns | |
---|---|
float |
The visual y position of this view, in pixels. |
getZ
public float getZ ()
The visual z position of this view, in pixels. This is equivalent to the
translationZ
property plus the current
elevation
property.
Returns | |
---|---|
float |
The visual z position of this view, in pixels. |
hasExplicitFocusable
public boolean hasExplicitFocusable ()
Returns true if this view is focusable or if it contains a reachable View
for which hasExplicitFocusable()
returns true
.
A "reachable hasExplicitFocusable()" is a view whose parents do not block descendants focus.
Only VISIBLE
views for which getFocusable()
would return
FOCUSABLE
are considered focusable.
This method preserves the pre-Build.VERSION_CODES#O
behavior of
hasFocusable()
in that only views explicitly set focusable will cause
this method to return true. A view set to FOCUSABLE_AUTO
that resolves
to focusable will not.
Returns | |
---|---|
boolean |
true if the view is focusable or if the view contains a focusable
view, false otherwise |
See also:
hasFocus
public boolean hasFocus ()
Returns true if this view has focus itself, or is the ancestor of the view that has focus.
Returns | |
---|---|
boolean |
True if this view has or contains focus, false otherwise. |
hasFocusable
public boolean hasFocusable ()
Returns true if this view is focusable or if it contains a reachable View
for which hasFocusable()
returns true
. A "reachable hasFocusable()"
is a view whose parents do not block descendants focus.
Only VISIBLE
views are considered focusable.
As of Build.VERSION_CODES#O
views that are determined to be focusable
through FOCUSABLE_AUTO
will also cause this method to return true
.
Apps that declare a ApplicationInfo.targetSdkVersion
of
earlier than Build.VERSION_CODES#O
will continue to see this method return
false
for views not explicitly marked as focusable.
Use hasExplicitFocusable()
if you require the pre-Build.VERSION_CODES#O
behavior.
Returns | |
---|---|
boolean |
true if the view is focusable or if the view contains a focusable
view, false otherwise |
hasNestedScrollingParent
public boolean hasNestedScrollingParent ()
Returns true if this view has a nested scrolling parent.
The presence of a nested scrolling parent indicates that this view has initiated a nested scroll and it was accepted by an ancestor view further up the view hierarchy.
Returns | |
---|---|
boolean |
whether this view has a nested scrolling parent |
hasOnClickListeners
public boolean hasOnClickListeners ()
Return whether this view has an attached OnClickListener. Returns true if there is a listener, false if there is none.
Returns | |
---|---|
boolean |
hasOnLongClickListeners
public boolean hasOnLongClickListeners ()
Return whether this view has an attached OnLongClickListener. Returns true if there is a listener, false if there is none.
Returns | |
---|---|
boolean |
hasOverlappingRendering
public boolean hasOverlappingRendering ()
Returns whether this View has content which overlaps.
This function, intended to be overridden by specific View types, is an optimization when alpha is set on a view. If rendering overlaps in a view with alpha < 1, that view is drawn to an offscreen buffer and then composited into place, which can be expensive. If the view has no overlapping rendering, the view can draw each primitive with the appropriate alpha value directly. An example of overlapping rendering is a TextView with a background image, such as a Button. An example of non-overlapping rendering is a TextView with no background, or an ImageView with only the foreground image. The default implementation returns true; subclasses should override if they have cases which can be optimized.
Note: The return value of this method is ignored if forceHasOverlappingRendering(boolean)
has been called on this view.
Returns | |
---|---|
boolean |
true if the content in this view might overlap, false otherwise. |
hasPointerCapture
public boolean hasPointerCapture ()
Checks pointer capture status.
Returns | |
---|---|
boolean |
true if the view has pointer capture. |
hasTransientState
public boolean hasTransientState ()
Indicates whether the view is currently tracking transient state that the app should not need to concern itself with saving and restoring, but that the framework should take special note to preserve when possible.
A view with transient state cannot be trivially rebound from an external data source, such as an adapter binding item views in a list. This may be because the view is performing an animation, tracking user selection of content, or similar.
Returns | |
---|---|
boolean |
true if the view has transient state |
hasWindowFocus
public boolean hasWindowFocus ()
Returns true if this view is in a window that currently has window focus. Note that this is not the same as the view itself having focus.
Returns | |
---|---|
boolean |
True if this view is in a window that currently has window focus. |
inflate
public static View inflate (Context context, int resource, ViewGroup root)
Inflate a view from an XML resource. This convenience method wraps the LayoutInflater
class, which provides a full range of options for view inflation.
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 |
See also:
invalidate
public void invalidate ()
Invalidate the whole view. If the view is visible,
onDraw(android.graphics.Canvas)
will be called at some point in
the future.
This must be called from a UI thread. To call from a non-UI thread, call
postInvalidate()
.
invalidate
public void invalidate (Rect dirty)
This method was deprecated
in API level 28.
The switch to hardware accelerated rendering in API 14 reduced
the importance of the dirty rectangle. In API 21 the given rectangle is
ignored entirely in favor of an internally-calculated area instead.
Because of this, clients are encouraged to just call invalidate()
.
Mark the area defined by dirty as needing to be drawn. If the view is
visible, onDraw(android.graphics.Canvas)
will be called at some
point in the future.
This must be called from a UI thread. To call from a non-UI thread, call
postInvalidate()
.
WARNING: In API 19 and below, this method may be destructive to
dirty
.
Parameters | |
---|---|
dirty |
Rect : the rectangle representing the bounds of the dirty region |
invalidate
public void invalidate (int l, int t, int r, int b)
This method was deprecated
in API level 28.
The switch to hardware accelerated rendering in API 14 reduced
the importance of the dirty rectangle. In API 21 the given rectangle is
ignored entirely in favor of an internally-calculated area instead.
Because of this, clients are encouraged to just call invalidate()
.
Mark the area defined by the rect (l,t,r,b) as needing to be drawn. The
coordinates of the dirty rect are relative to the view. If the view is
visible, onDraw(android.graphics.Canvas)
will be called at some
point in the future.
This must be called from a UI thread. To call from a non-UI thread, call
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 |
invalidateDrawable
public void invalidateDrawable (Drawable drawable)
Invalidates the specified Drawable.
Parameters | |
---|---|
drawable |
Drawable : the drawable to invalidate
This value cannot be null . |
invalidateOutline
public void invalidateOutline ()
Called to rebuild this View's Outline from its outline provider
See also:
isAccessibilityDataSensitive
public boolean isAccessibilityDataSensitive ()
Whether this view should restrict accessibility service access only to services that have the
AccessibilityServiceInfo.isAccessibilityTool()
property
set to true.
See default behavior provided by ACCESSIBILITY_DATA_SENSITIVE_AUTO
. Otherwise,
returns true for ACCESSIBILITY_DATA_SENSITIVE_YES
or false for ACCESSIBILITY_DATA_SENSITIVE_NO
.
Returns | |
---|---|
boolean |
True if this view should restrict accessibility service access to services that have the isAccessibilityTool property. |
isAccessibilityFocused
public boolean isAccessibilityFocused ()
Returns whether this View is accessibility focused.
Returns | |
---|---|
boolean |
True if this View is accessibility focused. |
isAccessibilityHeading
public boolean isAccessibilityHeading ()
Gets whether this view is a heading for accessibility purposes.
Related XML Attributes:
Returns | |
---|---|
boolean |
true if the view is a heading, false otherwise. |
isActivated
public boolean isActivated ()
Indicates the activation state of this view.
Returns | |
---|---|
boolean |
true if the view is activated, false otherwise |
isAttachedToWindow
public boolean isAttachedToWindow ()
Returns true if this view is currently attached to a window.
Returns | |
---|---|
boolean |
isAutoHandwritingEnabled
public boolean isAutoHandwritingEnabled ()
Return whether the View allows automatic handwriting initiation. Returns true if automatic handwriting initiation is enabled, and vice versa.
Returns | |
---|---|
boolean |
See also:
isClickable
public boolean isClickable ()
Indicates whether this view reacts to click events or not.
Related XML Attributes:
Returns | |
---|---|
boolean |
true if the view is clickable, false otherwise |
See also:
isContentSensitive
public final boolean isContentSensitive ()
Returns whether this view displays sensitive content, based
on the value explicitly set by setContentSensitivity(int)
.
Returns | |
---|---|
boolean |
whether the view displays sensitive content. |
isContextClickable
public boolean isContextClickable ()
Indicates whether this view reacts to context clicks or not.
Related XML Attributes:
Returns | |
---|---|
boolean |
true if the view is context clickable, false otherwise |
See also:
isCredential
public boolean isCredential ()
Gets the mode for determining whether this view is a credential.
Related XML Attributes:
Returns | |
---|---|
boolean |
false by default, or value passed to setIsCredential(boolean) . |
isDirty
public boolean isDirty ()
True if this view has changed since the last time being drawn.
Returns | |
---|---|
boolean |
The dirty state of this view. |
isDrawingCacheEnabled
public boolean isDrawingCacheEnabled ()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Indicates whether the drawing cache is enabled for this view.
Returns | |
---|---|
boolean |
true if the drawing cache is enabled |
isDuplicateParentStateEnabled
public boolean isDuplicateParentStateEnabled ()
Indicates whether this duplicates its drawable state from its parent.
Returns | |
---|---|
boolean |
True if this view's drawable state is duplicated from the parent, false otherwise |
isEnabled
public boolean isEnabled ()
Returns the enabled status for this view. The interpretation of the enabled state varies by subclass.
Returns | |
---|---|
boolean |
True if this view is enabled, false otherwise. |
isFocusable
public final boolean isFocusable ()
Returns whether this View is currently able to take focus.
Returns | |
---|---|
boolean |
True if this view can take focus, or false otherwise. |
isFocusableInTouchMode
public final boolean isFocusableInTouchMode ()
When a view is focusable, it may not want to take focus when in touch mode. For example, a button would like focus when the user is navigating via a D-pad so that the user can click on it, but once the user starts touching the screen, the button shouldn't take focus
Related XML Attributes:
Returns | |
---|---|
boolean |
Whether the view is focusable in touch mode. |
isFocused
public boolean isFocused ()
Returns true if this view has focus
Returns | |
---|---|
boolean |
True if this view has focus, false otherwise. |
isFocusedByDefault
public final boolean isFocusedByDefault ()
Returns whether this View should receive focus when the focus is restored for the view hierarchy containing this view.
Focus gets restored for a view hierarchy when the root of the hierarchy gets added to a window or serves as a target of cluster navigation.
Related XML Attributes:
Returns | |
---|---|
boolean |
true if this view is the default-focus view, false otherwise |
See also:
isForceDarkAllowed
public boolean isForceDarkAllowed ()
See setForceDarkAllowed(boolean)
Returns | |
---|---|
boolean |
true if force dark is allowed (default), false if it is disabled |
isHandwritingDelegate
public boolean isHandwritingDelegate ()
Returns whether this view has been set as a handwriting delegate by setIsHandwritingDelegate(boolean)
.
Returns | |
---|---|
boolean |
isHapticFeedbackEnabled
public boolean isHapticFeedbackEnabled ()
Related XML Attributes:
Returns | |
---|---|
boolean |
whether this view should have haptic feedback enabled for events such as long presses. |
isHardwareAccelerated
public boolean isHardwareAccelerated ()
Indicates whether this view is attached to a hardware accelerated window or not.
Even if this method returns true, it does not mean that every call
to draw(android.graphics.Canvas)
will be made with an hardware
accelerated Canvas
. For instance, if this view
is drawn onto an offscreen Bitmap
and its
window is hardware accelerated,
Canvas.isHardwareAccelerated()
will likely
return false, and this method will return true.
Returns | |
---|---|
boolean |
True if the view is attached to a window and the window is hardware accelerated; false in any other case. |
isHorizontalFadingEdgeEnabled
public boolean isHorizontalFadingEdgeEnabled ()
Indicate whether the horizontal edges are faded when the view is scrolled horizontally.
Related XML Attributes:
Returns | |
---|---|
boolean |
true if the horizontal edges should are faded on scroll, false otherwise |
See also:
isHorizontalScrollBarEnabled
public boolean isHorizontalScrollBarEnabled ()
Indicate whether the horizontal scrollbar should be drawn or not. The scrollbar is not drawn by default.
Returns | |
---|---|
boolean |
true if the horizontal scrollbar should be painted, false otherwise |
See also:
isHovered
public boolean isHovered ()
Returns true if the view is currently hovered.
Returns | |
---|---|
boolean |
True if the view is currently hovered. |
isImportantForAccessibility
public boolean isImportantForAccessibility ()
Computes whether this view should be exposed for accessibility. In general, views that are interactive or provide information are exposed while views that serve only as containers are hidden.
If an ancestor of this view has importance
IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
, this method
returns false
.
Otherwise, the value is computed according to the view's
getImportantForAccessibility()
value:
IMPORTANT_FOR_ACCESSIBILITY_NO
orIMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
, returnfalse
IMPORTANT_FOR_ACCESSIBILITY_YES
, returntrue
IMPORTANT_FOR_ACCESSIBILITY_AUTO
, returntrue
if view satisfies any of the following:- Is actionable, e.g.
isClickable()
,isLongClickable()
,isContextClickable()
,isScreenReaderFocusable()
, orisFocusable()
- Has an
AccessibilityDelegate
- Has an
AccessibilityNodeProvider
- Has an interaction listener, e.g.
OnTouchListener
,OnKeyListener
, etc. - Is an accessibility live region, e.g.
getAccessibilityLiveRegion()
is notACCESSIBILITY_LIVE_REGION_NONE
.
- Is actionable, e.g.
- Has an accessibility pane title, see
setAccessibilityPaneTitle(CharSequence)
- Is an accessibility heading, see
setAccessibilityHeading(boolean)
.
Returns | |
---|---|
boolean |
Whether the view is exposed for accessibility. |
isImportantForAutofill
public final boolean isImportantForAutofill ()
Hints the Android System whether the AssistStructure.ViewNode
associated with this view is considered important for autofill purposes.
Generally speaking, a view is important for autofill if:
- The view can be autofilled by an
AutofillService
. - The view contents can help an
AutofillService
determine how other views can be autofilled.- if it returns
IMPORTANT_FOR_AUTOFILL_YES
orIMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS
, then it returnstrue
- if it returns
IMPORTANT_FOR_AUTOFILL_NO
orIMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
, then it returnsfalse
- if it returns
IMPORTANT_FOR_AUTOFILL_AUTO
, then it uses some simple heuristics that can returntrue
in some cases (like a container with a resource id), butfalse
in most. - otherwise, it returns
false
. - For
Build.VERSION_CODES.TIRAMISU
and below:- When a view is considered important for autofill:
- The view might automatically trigger an autofill request when focused on.
- The contents of the view are included in the
ViewStructure
used in an autofill request.
- On the other hand, when a view is considered not important for autofill:
- The view never automatically triggers autofill requests, but it can trigger a
manual request through
AutofillManager#requestAutofill(View)
. - The contents of the view are not included in the
ViewStructure
used in an autofill request, unless the request has theAUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
flag.
- The view never automatically triggers autofill requests, but it can trigger a
manual request through
- When a view is considered important for autofill:
- For
Build.VERSION_CODES.UPSIDE_DOWN_CAKE
and above:- The system uses importance, along with other view properties and other optimization factors, to determine if a view should trigger autofill on focus.
- The contents of
IMPORTANT_FOR_AUTOFILL_AUTO
,IMPORTANT_FOR_AUTOFILL_YES
,IMPORTANT_FOR_AUTOFILL_NO
,IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS
, andIMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
views will be included in theViewStructure
used in an autofill request.
For example, view containers should typically return
false
for performance reasons (since the important info is provided by their children), but if its properties have relevant information (for example, a resource id calledcredentials
, it should returntrue
. On the other hand, views representing labels or editable fields should typically returntrue
, but in some cases they could returnfalse
(for example, if they're part of a "Captcha" mechanism).The value returned by this method depends on the value returned by
getImportantForAutofill()
:The behavior of importances depends on Android version:
Returns boolean
whether the view is considered important for autofill. - if it returns
isImportantForContentCapture
public final boolean isImportantForContentCapture ()
Hints the Android System whether this view is considered important for content capture, based
on the value explicitly set by setImportantForContentCapture(int)
and heuristics
when it's IMPORTANT_FOR_CONTENT_CAPTURE_AUTO
.
See ContentCaptureManager
for more info about content capture.
Returns | |
---|---|
boolean |
whether the view is considered important for content capture. |
isInEditMode
public boolean isInEditMode ()
Indicates whether this View is currently in edit mode. A View is usually in edit mode when displayed within a developer tool. For instance, if this View is being drawn by a visual user interface builder, this method should return true. Subclasses should check the return value of this method to provide different behaviors if their normal behavior might interfere with the host environment. For instance: the class spawns a thread in its constructor, the drawing code relies on device-specific features, etc. This method is usually checked in the drawing code of custom widgets.
Returns | |
---|---|
boolean |
True if this View is in edit mode, false otherwise. |
isInLayout
public boolean isInLayout ()
Returns whether the view hierarchy is currently undergoing a layout pass. This
information is useful to avoid situations such as calling requestLayout()
during
a layout pass.
Returns | |
---|---|
boolean |
whether the view hierarchy is currently undergoing a layout pass |
isInTouchMode
public boolean isInTouchMode ()
Returns the touch mode state associated with this view.
Attached views return the touch mode state from the associated window's display.
Detached views just return the default touch mode value defined in
com.android.internal.R.bool.config_defaultInTouchMode
.
Touch mode is entered once the user begins interacting with the device by touch, and
affects various things like whether focus highlight is always visible to the user.
Returns | |
---|---|
boolean |
the touch mode state associated with this view |
isKeyboardNavigationCluster
public final boolean isKeyboardNavigationCluster ()
Returns whether this View is a root of a keyboard navigation cluster.
Related XML Attributes:
Returns | |
---|---|
boolean |
True if this view is a root of a cluster, or false otherwise. |
isLaidOut
public boolean isLaidOut ()
Returns true if this view has been through at least one layout since it was last attached to or detached from a window.
Returns | |
---|---|
boolean |
isLayoutDirectionResolved
public boolean isLayoutDirectionResolved ()
Returns | |
---|---|
boolean |
true if layout direction has been resolved. |
isLayoutRequested
public boolean isLayoutRequested ()
Indicates whether or not this view's layout will be requested during the next hierarchy layout pass.
Returns | |
---|---|
boolean |
true if the layout will be forced during next layout pass |
isLongClickable
public boolean isLongClickable ()
Indicates whether this view reacts to long click events or not.
Related XML Attributes:
Returns | |
---|---|
boolean |
true if the view is long clickable, false otherwise |
See also:
isNestedScrollingEnabled
public boolean isNestedScrollingEnabled ()
Returns true if nested scrolling is enabled for this view.
If nested scrolling is enabled and this View class implementation supports it, this view will act as a nested scrolling child view when applicable, forwarding data about the scroll operation in progress to a compatible and cooperating nested scrolling parent.
Returns | |
---|---|
boolean |
true if nested scrolling is enabled |
See also:
isOpaque
public boolean isOpaque ()
Indicates whether this View is opaque. An opaque View guarantees that it will draw all the pixels overlapping its bounds using a fully opaque color. Subclasses of View should override this method whenever possible to indicate whether an instance is opaque. Opaque Views are treated in a special way by the View hierarchy, possibly allowing it to perform optimizations during invalidate/draw passes.
Returns | |
---|---|
boolean |
True if this View is guaranteed to be fully opaque, false otherwise. |
isPaddingRelative
public boolean isPaddingRelative ()
Return if the padding has been set through relative values
setPaddingRelative(int, int, int, int)
or through
Related XML Attributes:
Returns | |
---|---|
boolean |
true if the padding is relative or false if it is not. |
isPivotSet
public boolean isPivotSet ()
Returns whether or not a pivot has been set by a call to setPivotX(float)
or
setPivotY(float)
. If no pivot has been set then the pivot will be the center
of the view.
Returns | |
---|---|
boolean |
True if a pivot has been set, false if the default pivot is being used |
isPreferKeepClear
public final boolean isPreferKeepClear ()
Retrieve the preference for this view to be kept clear. This is set either by
setPreferKeepClear(boolean)
or via the attribute android.R.styleable#View_preferKeepClear.
If this is true
, the system will ignore the Rects set by
setPreferKeepClearRects(List)
and try to keep the whole view clear.
Related XML Attributes:
Returns | |
---|---|
boolean |
See also:
isPressed
public boolean isPressed ()
Indicates whether the view is currently in pressed state. Unless
setPressed(boolean)
is explicitly called, only clickable views can enter
the pressed state.
Returns | |
---|---|
boolean |
true if the view is currently pressed, false otherwise |
isSaveEnabled
public boolean isSaveEnabled ()
Indicates whether this view will save its state (that is,
whether its onSaveInstanceState()
method will be called).
Related XML Attributes:
Returns | |
---|---|
boolean |
Returns true if the view state saving is enabled, else false. |
See also:
isSaveFromParentEnabled
public boolean isSaveFromParentEnabled ()
Indicates whether the entire hierarchy under this view will save its
state when a state saving traversal occurs from its parent. The default
is true; if false, these views will not be saved unless
saveHierarchyState(android.util.SparseArray)
is called directly on this view.
Returns | |
---|---|
boolean |
Returns true if the view state saving from parent is enabled, else false. |
See also:
isScreenReaderFocusable
public boolean isScreenReaderFocusable ()
Returns whether the view should be treated as a focusable unit by screen reader accessibility tools.
Note: Use
ViewCompat.setScreenReaderFocusable(View, boolean)
for backwards-compatibility.
Related XML Attributes:
Returns | |
---|---|
boolean |
Whether the view should be treated as a focusable unit by screen reader. |
See also:
isScrollContainer
public boolean isScrollContainer ()
Indicates whether this view is one of the set of scrollable containers in its window.
Related XML Attributes:
Returns | |
---|---|
boolean |
whether this view is one of the set of scrollable containers in its window |
isScrollbarFadingEnabled
public boolean isScrollbarFadingEnabled ()
Returns true if scrollbars will fade when this view is not scrolling
Related XML Attributes:
Returns | |
---|---|
boolean |
true if scrollbar fading is enabled |
isSelected
public boolean isSelected ()
Indicates the selection state of this view.
Returns | |
---|---|
boolean |
true if the view is selected, false otherwise |
isShowingLayoutBounds
public final boolean isShowingLayoutBounds ()
Returns true
when the View is attached and the system developer setting to show
the layout bounds is enabled or false
otherwise.
Returns | |
---|---|
boolean |
isShown
public boolean isShown ()
Returns the visibility of this view and all of its ancestors
Returns | |
---|---|
boolean |
True if this view and all of its ancestors are VISIBLE |
isSoundEffectsEnabled
public boolean isSoundEffectsEnabled ()
Related XML Attributes:
Returns | |
---|---|
boolean |
whether this view should have sound effects enabled for events such as clicking and touching. |
isTemporarilyDetached
public final boolean isTemporarilyDetached ()
Tells whether the View
is in the state between onStartTemporaryDetach()
and onFinishTemporaryDetach()
.
This method always returns true
when called directly or indirectly from
onStartTemporaryDetach()
. The return value when called directly or indirectly from
onFinishTemporaryDetach()
, however, depends on the OS version.
Returns | |
---|---|
boolean |
true when the View is in the state between onStartTemporaryDetach()
and onFinishTemporaryDetach() . |
isTextAlignmentResolved
public boolean isTextAlignmentResolved ()
Returns | |
---|---|
boolean |
true if text alignment is resolved. |
isTextDirectionResolved
public boolean isTextDirectionResolved ()
Returns | |
---|---|
boolean |
true if text direction is resolved. |
isVerticalFadingEdgeEnabled
public boolean isVerticalFadingEdgeEnabled ()
Indicate whether the vertical edges are faded when the view is scrolled horizontally.
Related XML Attributes:
Returns | |
---|---|
boolean |
true if the vertical edges should are faded on scroll, false otherwise |
See also:
isVerticalScrollBarEnabled
public boolean isVerticalScrollBarEnabled ()
Indicate whether the vertical scrollbar should be drawn or not. The scrollbar is not drawn by default.
Returns | |
---|---|
boolean |
true if the vertical scrollbar should be painted, false otherwise |
See also:
isVisibleToUserForAutofill
public boolean isVisibleToUserForAutofill (int virtualId)
Computes whether this virtual autofill view is visible to the user.
Note: By default it returns true
, but views providing a virtual hierarchy
view must override it.
Parameters | |
---|---|
virtualId |
int |
Returns | |
---|---|
boolean |
Whether the view is visible on the screen. |
jumpDrawablesToCurrentState
public void jumpDrawablesToCurrentState ()
Call Drawable.jumpToCurrentState()
on all Drawable objects associated with this view.
Also calls StateListAnimator#jumpToCurrentState()
if there is a StateListAnimator
attached to this view.
If you override this method you must call through to the
superclass implementation.
keyboardNavigationClusterSearch
public View keyboardNavigationClusterSearch (View currentCluster, int direction)
Find the nearest keyboard navigation cluster in the specified direction. This does not actually give focus to that cluster.
Parameters | |
---|---|
currentCluster |
View : The starting point of the search. Null means the current cluster is not
found yet |
direction |
int : Direction to look
Value is FOCUS_BACKWARD , FOCUS_FORWARD , FOCUS_LEFT , FOCUS_UP , FOCUS_RIGHT , or FOCUS_DOWN |
Returns | |
---|---|
View |
The nearest keyboard navigation cluster in the specified direction, or null if none can be found |
layout
public void layout (int l, int t, int r, int b)
Assign a size and position to a view and all of its descendants
This is the second phase of the layout mechanism. (The first is measuring). In this phase, each parent calls layout on all of its children to position them. This is typically done using the child measurements that were stored in the measure pass().
Derived classes should not override this method. Derived classes with children should override onLayout. In that method, they should call layout on each of their children.
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 |
measure
public final void measure (int widthMeasureSpec, int heightMeasureSpec)
This is called to find out how big a view should be. The parent supplies constraint information in the width and height parameters.
The actual measurement work of a view is performed in
onMeasure(int, int)
, called by this method. Therefore, only
onMeasure(int, int)
can and must be overridden by subclasses.
Parameters | |
---|---|
widthMeasureSpec |
int : Horizontal space requirements as imposed by the
parent |
heightMeasureSpec |
int : Vertical space requirements as imposed by the
parent |
See also:
offsetLeftAndRight
public void offsetLeftAndRight (int offset)
Offset this view's horizontal location by the specified amount of pixels.
Parameters | |
---|---|
offset |
int : the number of pixels to offset the view by |
offsetTopAndBottom
public void offsetTopAndBottom (int offset)
Offset this view's vertical location by the specified number of pixels.
Parameters | |
---|---|
offset |
int : the number of pixels to offset the view by |
onApplyWindowInsets
public WindowInsets onApplyWindowInsets (WindowInsets insets)
Called when the view should apply WindowInsets
according to its internal policy.
This method should be overridden by views that wish to apply a policy different from or
in addition to the default behavior. Clients that wish to force a view subtree
to apply insets should call dispatchApplyWindowInsets(android.view.WindowInsets)
.
Clients may supply an OnApplyWindowInsetsListener
to a view. If one is set
it will be called during dispatch instead of this method. The listener may optionally
call this method from its own implementation if it wishes to apply the view's default
insets policy in addition to its own.
Implementations of this method should either return the insets parameter unchanged
or a new WindowInsets
cloned from the supplied insets with any insets consumed
that this view applied itself. This allows new inset types added in future platform
versions to pass through existing implementations unchanged without being erroneously
consumed.
By default if a view's fitsSystemWindows
property is set then the view will consume the system window insets and apply them
as padding for the view.
Parameters | |
---|---|
insets |
WindowInsets : Insets to apply |
Returns | |
---|---|
WindowInsets |
The supplied insets with any applied insets consumed |
onCancelPendingInputEvents
public void onCancelPendingInputEvents ()
Called as the result of a call to cancelPendingInputEvents()
on this view or
a parent view.
This method is responsible for removing any pending high-level input events that were
posted to the event queue to run later. Custom view classes that post their own deferred
high-level events via post(java.lang.Runnable)
, postDelayed(java.lang.Runnable, long)
or
Handler
should override this method, call
super.onCancelPendingInputEvents()
and remove those callbacks as appropriate.
onCapturedPointerEvent
public boolean onCapturedPointerEvent (MotionEvent event)
Implement this method to handle captured pointer events
Parameters | |
---|---|
event |
MotionEvent : The captured pointer event. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
See also:
onCheckIsTextEditor
public boolean onCheckIsTextEditor ()
Check whether the called view is a text editor, in which case it
would make sense to automatically display a soft input window for
it. Subclasses should override this if they implement
onCreateInputConnection(android.view.inputmethod.EditorInfo)
to return true if
a call on that method would return a non-null InputConnection, and
they are really a first-class editor that the user would normally
start typing on when the go into a window containing your view.
The default implementation always returns false. This does
not mean that its onCreateInputConnection(android.view.inputmethod.EditorInfo)
will not be called or the user can not otherwise perform edits on your
view; it is just a hint to the system that this is not the primary
purpose of this view.
Returns | |
---|---|
boolean |
Returns true if this view is a text editor, else false. |
onCreateInputConnection
public InputConnection onCreateInputConnection (EditorInfo outAttrs)
Create a new InputConnection for an InputMethod to interact with the view. The default implementation returns null, since it doesn't support input methods. You can override this to implement such support. This is only needed for views that take focus and text input.
When implementing this, you probably also want to implement
onCheckIsTextEditor()
to indicate you will return a
non-null InputConnection.
Also, take good care to fill in the EditorInfo
object correctly and in its entirety, so that the connected IME can rely
on its values. For example, EditorInfo.initialSelStart
and EditorInfo.initialSelEnd
members
must be filled in with the correct cursor position for IMEs to work correctly
with your application.
Parameters | |
---|---|
outAttrs |
EditorInfo : Fill in with attribute information about the connection. |
Returns | |
---|---|
InputConnection |
onCreateViewTranslationRequest
public void onCreateViewTranslationRequest (int[] supportedFormats, Consumer<ViewTranslationRequest> requestsCollector)
Collects a ViewTranslationRequest
which represents the content to be translated in
the view.
The default implementation does nothing.
Parameters | |
---|---|
supportedFormats |
int : the supported translation formats. For now, the only possible value
is the TranslationSpec.DATA_FORMAT_TEXT .
This value cannot be null .
Value is TranslationSpec.DATA_FORMAT_TEXT |
requestsCollector |
Consumer : a ViewTranslationRequest collector that can be used to
collect the information to be translated in the view. The requestsCollector only
accepts one request; an IllegalStateException is thrown if more than one
ViewTranslationRequest is submitted to it. The AutofillId must be set on the
ViewTranslationRequest .
This value cannot be null . |
onCreateVirtualViewTranslationRequests
public void onCreateVirtualViewTranslationRequests (long[] virtualIds, int[] supportedFormats, Consumer<ViewTranslationRequest> requestsCollector)
Collects ViewTranslationRequest
s which represents the content to be translated
for the virtual views in the host view. This is called if this view returned a virtual
view structure from onProvideContentCaptureStructure(ViewStructure, int)
and the system determined that
those virtual views were relevant for translation.
The default implementation does nothing.
Parameters | |
---|---|
virtualIds |
long : the virtual view ids which represents the virtual views in the host
view.
This value cannot be null . |
supportedFormats |
int : the supported translation formats. For now, the only possible value
is the TranslationSpec.DATA_FORMAT_TEXT .
This value cannot be null .
Value is TranslationSpec.DATA_FORMAT_TEXT |
requestsCollector |
Consumer : a ViewTranslationRequest collector that can be called
multiple times to collect the information to be translated in the host view. One
ViewTranslationRequest per virtual child. The ViewTranslationRequest must
contains the AutofillId corresponding to the virtualChildIds. Do not keep this
Consumer after the method returns.
This value cannot be null . |
onDragEvent
public boolean onDragEvent (DragEvent event)
Handles drag events sent by the system following a call to
startDragAndDrop()
.
The system calls this method and passes a DragEvent
object in response to drag and
drop events. This method can then call DragEvent#getAction()
to determine the state
of the drag and drop operation.
The default implementation returns false
unless an OnReceiveContentListener
has been set for this view (see setOnReceiveContentListener(String, OnReceiveContentListener)
), in which case
the default implementation does the following:
- Returns
true
for anACTION_DRAG_STARTED
event - Calls
performReceiveContent(ContentInfo)
for anACTION_DROP
event - Returns
true
for anACTION_DROP
event if theOnReceiveContentListener
consumed some or all of the content
Parameters | |
---|---|
event |
DragEvent : The DragEvent object sent by the system. The
DragEvent#getAction() method returns an action type constant that indicates the
type of drag event represented by this object. |
Returns | |
---|---|
boolean |
true if the method successfully handled the drag event, otherwise
false .
The method must return
The method should return
For all other events, the return value is |
onDrawForeground
public void onDrawForeground (Canvas canvas)
Draw any foreground content for this view.
Foreground content may consist of scroll bars, a foreground
drawable or other view-specific decorations. The foreground is drawn on top of the
primary view content.
Parameters | |
---|---|
canvas |
Canvas : canvas to draw into
This value cannot be null . |
onFilterTouchEventForSecurity
public boolean onFilterTouchEventForSecurity (MotionEvent event)
Filter the touch event to apply security policies.
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. |
See also:
onFinishTemporaryDetach
public void onFinishTemporaryDetach ()
Called after onStartTemporaryDetach()
when the container is done
changing the view.
onGenericMotionEvent
public boolean onGenericMotionEvent (MotionEvent event)
Implement this method to handle generic motion events.
Generic motion events describe joystick movements, hover events from mouse or stylus
devices, trackpad touches, scroll wheel movements and other motion events not handled
by onTouchEvent(android.view.MotionEvent)
or onTrackballEvent(android.view.MotionEvent)
.
The source
of the motion event specifies
the class of input that was received. Implementations of this method
must examine the bits in the source before processing the event.
The following code example shows how this is done.
Generic motion events with source class InputDevice#SOURCE_CLASS_POINTER
are delivered to the view under the pointer. All other generic motion events are
delivered to the focused view.
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 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. |
onHoverChanged
public void onHoverChanged (boolean hovered)
Implement this method to handle hover state changes.
This method is called whenever the hover state changes as a result of a
call to setHovered(boolean)
.
Parameters | |
---|---|
hovered |
boolean : The current hover state, as returned by isHovered() . |
See also:
onHoverEvent
public boolean onHoverEvent (MotionEvent event)
Implement this method to handle hover events.
This method is called whenever a pointer is hovering into, over, or out of the
bounds of a view and the view is not currently being touched.
Hover events are represented as pointer events with action
MotionEvent#ACTION_HOVER_ENTER
, MotionEvent#ACTION_HOVER_MOVE
,
or MotionEvent#ACTION_HOVER_EXIT
.
- The view receives a hover event with action
MotionEvent#ACTION_HOVER_ENTER
when the pointer enters the bounds of the view. - The view receives a hover event with action
MotionEvent#ACTION_HOVER_MOVE
when the pointer has already entered the bounds of the view and has moved. - The view receives a hover event with action
MotionEvent#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.
The view should implement this method to return true to indicate that it is handling the hover event, such as by changing its drawable state.
The default implementation calls setHovered(boolean)
to update the hovered state
of the view when a hover enter or hover exit event is received, if the view
is enabled and is clickable. The default implementation also sends hover
accessibility events.
Parameters | |
---|---|
event |
MotionEvent : The motion event that describes the hover. |
Returns | |
---|---|
boolean |
True if the view handled the hover event. |
onInitializeAccessibilityEvent
public void onInitializeAccessibilityEvent (AccessibilityEvent event)
Initializes an AccessibilityEvent
with information about
this View which is the event source. In other words, the source of
an accessibility event is the view whose state change triggered firing
the event.
Example: Setting the password property of an event in addition to properties set by the super implementation:
public void onInitializeAccessibilityEvent(AccessibilityEvent event) { super.onInitializeAccessibilityEvent(event); event.setPassword(true); }
If an AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
AccessibilityDelegate#onInitializeAccessibilityEvent(View, AccessibilityEvent)
is responsible for handling this call.
Note: Always call the super implementation before adding information to the event, in case the default implementation has basic information to add.
If you override this method you must call through to the superclass implementation.
Parameters | |
---|---|
event |
AccessibilityEvent : The event to initialize. |
onInitializeAccessibilityNodeInfo
public void onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)
Initializes an AccessibilityNodeInfo
with information about this view.
The base implementation sets:
AccessibilityNodeInfo#setParent(View)
,AccessibilityNodeInfo#setBoundsInParent(Rect)
,AccessibilityNodeInfo#setBoundsInScreen(Rect)
,AccessibilityNodeInfo#setPackageName(CharSequence)
,AccessibilityNodeInfo#setClassName(CharSequence)
,AccessibilityNodeInfo#setContentDescription(CharSequence)
,AccessibilityNodeInfo#setEnabled(boolean)
,AccessibilityNodeInfo#setClickable(boolean)
,AccessibilityNodeInfo#setFocusable(boolean)
,AccessibilityNodeInfo#setFocused(boolean)
,AccessibilityNodeInfo#setLongClickable(boolean)
,AccessibilityNodeInfo#setSelected(boolean)
,AccessibilityNodeInfo#setContextClickable(boolean)
Subclasses should override this method, call the super implementation, and set additional attributes.
If an AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
AccessibilityDelegate#onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo)
is responsible for handling this call.
If you override this method you must call through to the superclass implementation.
Parameters | |
---|---|
info |
AccessibilityNodeInfo : The instance to initialize. |
onKeyDown
public boolean onKeyDown (int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyDown()
: perform press of the view
when KeyEvent#KEYCODE_DPAD_CENTER
or KeyEvent#KEYCODE_ENTER
is released, if the view is enabled and clickable.
Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.
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. |
onKeyLongPress
public boolean onKeyLongPress (int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyLongPress()
: always returns false (doesn't handle
the event).
Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.
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. |
onKeyMultiple
public boolean onKeyMultiple (int keyCode, int repeatCount, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyMultiple()
: always returns false (doesn't handle
the event).
Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.
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. |
onKeyPreIme
public boolean onKeyPreIme (int keyCode, KeyEvent event)
Handle a key event before it is processed by any input method associated with the view hierarchy. This can be used to intercept key events in special situations before the IME consumes them; a typical example would be handling the BACK key to update the application's UI instead of allowing the IME to see it and close itself. Due to a bug, this function is not called for BACK key events on Android T and U, when the IME is shown.
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. |
onKeyShortcut
public boolean onKeyShortcut (int keyCode, KeyEvent event)
Called on the focused view when a key shortcut event is not handled.
Override this method to implement local key shortcuts for the View.
Key shortcuts can also be implemented by setting the
shortcut
property of menu items.
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. |
onKeyUp
public boolean onKeyUp (int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyUp()
: perform clicking of the view
when KeyEvent#KEYCODE_DPAD_CENTER
, KeyEvent#KEYCODE_ENTER
or KeyEvent#KEYCODE_SPACE
is released.
Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.
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. |
onPointerCaptureChange
public void onPointerCaptureChange (boolean hasCapture)
Called when the window has just acquired or lost pointer capture.
If you override this method you must call through to the
superclass implementation.
Parameters | |
---|---|
hasCapture |
boolean : True if the view now has pointerCapture, false otherwise. |
onPopulateAccessibilityEvent
public void onPopulateAccessibilityEvent (AccessibilityEvent event)
Called from dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
giving a chance to this View to populate the accessibility event with its
text content.
Note: This method should only be used with event.setText().
Avoid mutating other event state in this method. Instead, follow the practices described in
dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
. In general, put UI
metadata in the node for services to easily query, than in transient events.
Example: Adding formatted date string to an accessibility event in addition to the text added by the super implementation:
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); }
If an AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
AccessibilityDelegate#onPopulateAccessibilityEvent(View, AccessibilityEvent)
is responsible for handling this call.
Note: Always call the super implementation before adding information to the event, in case the default implementation has basic information to add.
If you override this method you must call through to the superclass implementation.
Parameters | |
---|---|
event |
AccessibilityEvent : The accessibility event which to populate. |
onProvideAutofillStructure
public void onProvideAutofillStructure (ViewStructure structure, int flags)
Populates a ViewStructure
to fullfil an autofill request.
The structure should contain at least the following properties:
- Autofill id (
ViewStructure#setAutofillId(AutofillId, int)
). - Autofill type (
ViewStructure#setAutofillType(int)
). - Autofill value (
ViewStructure#setAutofillValue(AutofillValue)
). - Whether the data is sensitive (
ViewStructure#setDataIsSensitive(boolean)
).
It's also recommended to set the following properties - the more properties the structure
has, the higher the chances of an AutofillService
properly
using the structure:
- Autofill hints (
ViewStructure#setAutofillHints(String[])
). - Autofill options (
ViewStructure#setAutofillOptions(CharSequence[])
) when the view can only be filled with predefined values (typically used when the autofill type isAUTOFILL_TYPE_LIST
). - Resource id (
ViewStructure#setId(int, String, String, String)
). - Class name (
ViewStructure#setClassName(String)
). - Content description (
ViewStructure#setContentDescription(CharSequence)
). - Visual properties such as visibility (
ViewStructure#setVisibility(int)
), dimensions (ViewStructure#setDimens(int, int, int, int, int, int)
), and opacity (ViewStructure#setOpaque(boolean)
). - For views representing text fields, text properties such as the text itself
(
ViewStructure#setText(CharSequence)
), text hints (ViewStructure#setHint(CharSequence)
, input type (ViewStructure#setInputType(int)
), - For views representing HTML nodes, its web domain
(
ViewStructure#setWebDomain(String)
) and HTML properties ((ViewStructure#setHtmlInfo(android.view.ViewStructure.HtmlInfo)
).
The default implementation of this method already sets most of these properties based on
related View
methods (for example, the autofill id is set using
getAutofillId()
, the autofill type set using getAutofillType()
, etc.),
and views in the standard Android widgets library also override it to set their
relevant properties (for example, TextView
already sets the text
properties), so it's recommended to only override this method
(and call super.onProvideAutofillStructure()
) when:
- The view contents does not include PII (Personally Identifiable Information), so it
can call
ViewStructure#setDataIsSensitive(boolean)
passingfalse
. - The view can only be autofilled with predefined options, so it can call
ViewStructure#setAutofillOptions(CharSequence[])
.
Note: The left
and top
values set in
ViewStructure#setDimens(int, int, int, int, int, int)
must be relative to the next
ViewGroup#isImportantForAutofill()
predecessor view included in the structure.
Views support the Autofill Framework mainly by:
- Providing the metadata defining what the view means and how it can be autofilled.
- Notifying the Android System when the view value changed by calling
AutofillManager#notifyValueChanged(View)
. - Implementing the methods that autofill the view.
This method is responsible for the former; autofill(android.view.autofill.AutofillValue)
is responsible
for the latter.
Parameters | |
---|---|
structure |
ViewStructure : fill in with structured view data for autofill purposes. |
flags |
int : optional flags.
Value is either 0 or AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS |
onProvideAutofillVirtualStructure
public void onProvideAutofillVirtualStructure (ViewStructure structure, int flags)
Populates a ViewStructure
containing virtual children to fullfil an autofill
request.
This method should be used when the view manages a virtual structure under this view. For
example, a view that draws input fields using draw(android.graphics.Canvas)
.
When implementing this method, subclasses must follow the rules below:
- Add virtual children by calling the
ViewStructure#newChild(int)
orViewStructure#asyncNewChild(int)
methods, where theid
is an unique id identifying the children in the virtual structure. - The children hierarchy can have multiple levels if necessary, but ideally it should exclude intermediate levels that are irrelevant for autofill; that would improve the autofill performance.
- Also implement
autofill(android.util.SparseArray)
to autofill the virtual children. - Set the autofill properties of the child structure as defined by
onProvideAutofillStructure(android.view.ViewStructure, int)
, usingViewStructure#setAutofillId(AutofillId, int)
to set its autofill id. - Call
AutofillManager.notifyViewEntered(View, int, Rect)
and/orAutofillManager.notifyViewExited(View, int)
when the focused virtual child changed. - Override
isVisibleToUserForAutofill(int)
to allow the platform to query whether a given virtual view is visible to the user in order to support triggering save when all views of interest go away. - Call
AutofillManager.notifyValueChanged(View, int, AutofillValue)
when the value of a virtual child changed. - Call
AutofillManager.notifyViewVisibilityChanged(View, int, boolean)
when the visibility of a virtual child changed. - Call
AutofillManager.notifyViewClicked(View, int)
when a virtual child is clicked. - Call
AutofillManager#commit()
when the autofill context of the view structure changed and the current context should be committed (for example, when the user tapped aSUBMIT
button in an HTML page). - Call
AutofillManager#cancel()
when the autofill context of the view structure changed and the current context should be canceled (for example, when the user tapped aCANCEL
button in an HTML page). - Provide ways for users to manually request autofill by calling
AutofillManager#requestAutofill(View, int, Rect)
. - The
left
andtop
values set inViewStructure#setDimens(int, int, int, int, int, int)
must be relative to the nextViewGroup#isImportantForAutofill()
predecessor view included in the structure.
Views with virtual children support the Autofill Framework mainly by:
- Providing the metadata defining what the virtual children mean and how they can be autofilled.
- Implementing the methods that autofill the virtual children.
This method is responsible for the former; autofill(android.util.SparseArray)
is responsible
for the latter.
Parameters | |
---|---|
structure |
ViewStructure : fill in with virtual children data for autofill purposes. |
flags |
int : optional flags. |
onProvideContentCaptureStructure
public void onProvideContentCaptureStructure (ViewStructure structure, int flags)
Populates a ViewStructure
for content capture.
This method is called after a view that is eligible for content capture
(for example, if it isImportantForContentCapture()
, an intelligence service is
enabled for the user, and the activity rendering the view is enabled for content capture)
is laid out and is visible. The populated structure is then passed to the service through
ContentCaptureSession#notifyViewAppeared(ViewStructure)
.
The default implementation of this method sets the most relevant properties based on
related View
methods, and views in the standard Android widgets library also
override it to set their relevant properties. Therefore, if overriding this method, it
is recommended to call super.onProvideContentCaptureStructure()
.
Note: views that manage a virtual structure under this view must populate just
the node representing this view and return right away, then asynchronously report (not
necessarily in the UI thread) when the children nodes appear, disappear or have their text
changed by calling
ContentCaptureSession#notifyViewAppeared(ViewStructure)
,
ContentCaptureSession#notifyViewDisappeared(AutofillId)
, and
ContentCaptureSession#notifyViewTextChanged(AutofillId, CharSequence)
respectively. The structure for a child must be created using
ContentCaptureSession#newVirtualViewStructure(AutofillId, long)
, and the
autofillId
for a child can be obtained either through
childStructure.getAutofillId()
or
ContentCaptureSession#newAutofillId(AutofillId, long)
.
When the virtual view hierarchy represents a web page, you should also:
- Call
ContentCaptureManager#getContentCaptureConditions()
to infer content capture events should be generate for that URL. - Create a new
ContentCaptureSession
child for every HTML element that renders a new URL (like anIFRAME
) and use that session to notify events from that subtree.
Note: the following methods of the structure
will be ignored:
ViewStructure#setChildCount(int)
ViewStructure#addChildCount(int)
ViewStructure#getChildCount()
ViewStructure#newChild(int)
ViewStructure#asyncNewChild(int)
ViewStructure#asyncCommit()
ViewStructure#setWebDomain(String)
ViewStructure#newHtmlInfoBuilder(String)
ViewStructure#setHtmlInfo(android.view.ViewStructure.HtmlInfo)
ViewStructure#setDataIsSensitive(boolean)
ViewStructure#setAlpha(float)
ViewStructure#setElevation(float)
ViewStructure#setTransformation(Matrix)
Parameters | |
---|---|
structure |
ViewStructure : This value cannot be null . |
flags |
int |
onProvideStructure
public void onProvideStructure (ViewStructure structure)
Called when assist structure is being retrieved from a view as part of
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. |
onProvideVirtualStructure
public void onProvideVirtualStructure (ViewStructure structure)
Called when assist structure is being retrieved from a view as part of
Activity.onProvideAssistData
to
generate additional virtual structure under this view. The default implementation
uses getAccessibilityNodeProvider()
to try to generate this from the
view's virtual accessibility nodes, if any. You can override this for a more
optimal implementation providing this data.
Parameters | |
---|---|
structure |
ViewStructure |
onReceiveContent
public ContentInfo onReceiveContent (ContentInfo payload)
Implements the default behavior for receiving content for this type of view. The default view implementation is a no-op (returns the passed-in content without acting on it).
Widgets should override this method to define their default behavior for receiving
content. Apps should set a listener
to provide
app-specific handling for receiving content.
See setOnReceiveContentListener(String, OnReceiveContentListener)
and performReceiveContent(ContentInfo)
for more info.
Parameters | |
---|---|
payload |
ContentInfo : The content to insert and related metadata.
This value cannot be null . |
Returns | |
---|---|
ContentInfo |
The portion of the passed-in content that was not handled (may be all, some, or none
of the passed-in content).
This value may be null . |
onResolvePointerIcon
public PointerIcon onResolvePointerIcon (MotionEvent event, int pointerIndex)
Resolve the pointer icon that should be used for specified pointer in the motion event.
The default implementation will resolve the pointer icon to one set using
setPointerIcon(android.view.PointerIcon)
for mouse devices. Subclasses may override this to
customize the icon for the given pointer.
For example, the pointer icon for a stylus pointer can be resolved in the following way:
@Override
public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
final int toolType = event.getToolType(pointerIndex);
if (!event.isFromSource(InputDevice.SOURCE_MOUSE)
&& event.isFromSource(InputDevice.SOURCE_STYLUS)
&& (toolType == MotionEvent.TOOL_TYPE_STYLUS
|| toolType == MotionEvent.TOOL_TYPE_ERASER)) {
// Show this pointer icon only if this pointer is a stylus.
return PointerIcon.getSystemIcon(mContext, PointerIcon.TYPE_WAIT);
}
// Use the default logic for determining the pointer icon for other non-stylus pointers,
// like for the mouse cursor.
return super.onResolvePointerIcon(event, pointerIndex);
}
Parameters | |
---|---|
event |
MotionEvent : The MotionEvent that requires a pointer icon to be resolved for one of
pointers. |
pointerIndex |
int : The index of the pointer in event for which to retrieve the
PointerIcon . This will be between 0 and MotionEvent#getPointerCount() . |
Returns | |
---|---|
PointerIcon |
the pointer icon to use for specified pointer, or null if a pointer icon
is not specified and the default icon should be used. |
onRtlPropertiesChanged
public void onRtlPropertiesChanged (int layoutDirection)
Called when any RTL property (layout direction or text direction or text alignment) has been changed. Subclasses need to override this method to take care of cached information that depends on the resolved layout direction, or to inform child views that inherit their layout direction. The default implementation does nothing.
Parameters | |
---|---|
layoutDirection |
int : the direction of the layout
Value is LAYOUT_DIRECTION_LTR , or LAYOUT_DIRECTION_RTL |
See also:
onScreenStateChanged
public void onScreenStateChanged (int screenState)
This method is called whenever the state of the screen this view is attached to changes. A state change will usually occurs when the screen turns on or off (whether it happens automatically or the user does it manually.)
Parameters | |
---|---|
screenState |
int : The new state of the screen. Can be either
SCREEN_STATE_ON or SCREEN_STATE_OFF |
onScrollCaptureSearch
public void onScrollCaptureSearch (Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)
Called when scroll capture is requested, to search for appropriate content to scroll. If
applicable, this view adds itself to the provided list for consideration, subject to the
flags set by setScrollCaptureHint(int)
.
Parameters | |
---|---|
localVisibleRect |
Rect : the local visible rect of this view
This value cannot be null . |
windowOffset |
Point : the offset of localVisibleRect within the window
This value cannot be null . |
targets |
Consumer : accepts potential scroll capture targets; results.accept may be called zero or more times on the calling
thread before onScrollCaptureSearch returns
This value cannot be null . |
Throws | |
---|---|
IllegalStateException |
if this view is not attached to a window |
onStartTemporaryDetach
public void onStartTemporaryDetach ()
This is called when a container is going to temporarily detach a child, with
ViewGroup.detachViewFromParent
.
It will either be followed by onFinishTemporaryDetach()
or
onDetachedFromWindow()
when the container is done.
onTouchEvent
public boolean onTouchEvent (MotionEvent event)
Implement this method to handle touch screen motion events.
If this method is used to detect click actions, it is recommended that
the actions be performed by implementing and calling
performClick()
. This will ensure consistent system behavior,
including:
- obeying click sound preferences
- dispatching OnClickListener calls
- handling
ACTION_CLICK
when accessibility features are enabled
Parameters | |
---|---|
event |
MotionEvent : The motion event. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
onTrackballEvent
public boolean onTrackballEvent (MotionEvent event)
Implement this method to handle trackball motion events.
The relative movement of the trackball since the last event
can be retrieve with MotionEvent.getX()
and
MotionEvent.getY()
. These are normalized so
that a movement of 1 corresponds to the user pressing one DPAD key (so
they will often be fractional values, representing the more fine-grained
movement information available from a trackball).
Parameters | |
---|---|
event |
MotionEvent : The motion event. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
onViewTranslationResponse
public void onViewTranslationResponse (ViewTranslationResponse response)
Called when the content from View#onCreateViewTranslationRequest
had been translated
by the TranslationService. The ViewTranslationResponse
should be saved here so that
the ViewTranslationResponse
can be used to display the translation when the system
calls ViewTranslationCallback#onShowTranslation
.
The default implementation will set the ViewTranslationResponse that can be get from
View#getViewTranslationResponse
.
Parameters | |
---|---|
response |
ViewTranslationResponse : a ViewTranslationResponse that contains the translated information
which can be shown in the view.
This value cannot be null . |
onVirtualViewTranslationResponses
public void onVirtualViewTranslationResponses (LongSparseArray<ViewTranslationResponse> response)
Called when the content from View#onCreateVirtualViewTranslationRequests
had been
translated by the TranslationService.
The default implementation does nothing.
Parameters | |
---|---|
response |
LongSparseArray : a ViewTranslationResponse SparseArray for the request that send by
View#onCreateVirtualViewTranslationRequests that contains the translated information
which can be shown in the view. The key of SparseArray is the virtual child ids.
This value cannot be null . |
onVisibilityAggregated
public void onVisibilityAggregated (boolean isVisible)
Called when the user-visibility of this View is potentially affected by a change
to this view itself, an ancestor view or the window this view is attached to.
If you override this method you must call through to the
superclass implementation.
Parameters | |
---|---|
isVisible |
boolean : true if this view and all of its ancestors are VISIBLE
and this view's window is also visible |
onWindowFocusChanged
public void onWindowFocusChanged (boolean hasWindowFocus)
Called when the window containing this view gains or loses focus. Note that this is separate from view focus: to receive key events, both your view and its window must have focus. If a window is displayed on top of yours that takes input focus, then your own window will lose focus but the view focus will remain unchanged.
Parameters | |
---|---|
hasWindowFocus |
boolean : True if the window containing this view now has
focus, false otherwise. |
onWindowSystemUiVisibilityChanged
public void onWindowSystemUiVisibilityChanged (int visible)
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use WindowInsetsController
instead.
Override to find out when the window's requested system UI visibility
has changed, that is the value returned by getWindowSystemUiVisibility()
.
This is different from the callbacks received through
setOnSystemUiVisibilityChangeListener(android.view.View.OnSystemUiVisibilityChangeListener)
in that this is only telling you about the local request of the window,
not the actual values applied by the system.
Parameters | |
---|---|
visible |
int |
performAccessibilityAction
public boolean performAccessibilityAction (int action, Bundle arguments)
Performs the specified accessibility action on the view. For
possible accessibility actions look at AccessibilityNodeInfo
.
If an AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
AccessibilityDelegate#performAccessibilityAction(View, int, Bundle)
is responsible for handling this call.
The default implementation will delegate
AccessibilityNodeInfo#ACTION_SCROLL_BACKWARD
and
AccessibilityNodeInfo#ACTION_SCROLL_FORWARD
to nested scrolling parents if
nested scrolling is enabled
on this view.
Note: Avoid setting accessibility focus with
AccessibilityNodeInfo#ACTION_ACCESSIBILITY_FOCUS
. This is intended to be controlled
by screen readers. Apps changing focus can confuse screen readers, so the resulting behavior
can vary by device and screen reader version.
Parameters | |
---|---|
action |
int : The action to perform. |
arguments |
Bundle : Optional action arguments.
This value may be null . |
Returns | |
---|---|
boolean |
Whether the action was performed. |
performClick
public boolean performClick ()
Call this view's OnClickListener, if it is defined. Performs all normal actions associated with clicking: reporting accessibility event, playing a sound, etc.
Returns | |
---|---|
boolean |
True there was an assigned OnClickListener that was called, false otherwise is returned. |
performContextClick
public boolean performContextClick (float x, float y)
Call this view's OnContextClickListener, if it is defined.
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. |
performContextClick
public boolean performContextClick ()
Call this view's OnContextClickListener, if it is defined.
Returns | |
---|---|
boolean |
True if there was an assigned OnContextClickListener that consumed the event, false otherwise. |
performHapticFeedback
public boolean performHapticFeedback (int feedbackConstant)
BZZZTT!!1!
Provide haptic feedback to the user for this view.
The framework will provide haptic feedback for some built in actions, such as long presses, but you may wish to provide feedback for your own widget.
The feedback will only be performed if
isHapticFeedbackEnabled()
is true.
Parameters | |
---|---|
feedbackConstant |
int : One of the constants defined in
HapticFeedbackConstants |
Returns | |
---|---|
boolean |
performHapticFeedback
public boolean performHapticFeedback (int feedbackConstant, int flags)
BZZZTT!!1!
Like performHapticFeedback(int)
, with additional options.
Parameters | |
---|---|
feedbackConstant |
int : One of the constants defined in
HapticFeedbackConstants |
flags |
int : Additional flags as per HapticFeedbackConstants . |
Returns | |
---|---|
boolean |
performLongClick
public boolean performLongClick (float x, float y)
Calls this view's OnLongClickListener, if it is defined. Invokes the context menu if the OnLongClickListener did not consume the event, anchoring it to an (x,y) coordinate.
Parameters | |
---|---|
x |
float : x coordinate of the anchoring touch event, or Float#NaN
to disable anchoring |
y |
float : y coordinate of the anchoring touch event, or Float#NaN
to disable anchoring |
Returns | |
---|---|
boolean |
true if one of the above receivers consumed the event,
false otherwise |
performLongClick
public boolean performLongClick ()
Calls this view's OnLongClickListener, if it is defined. Invokes the context menu if the OnLongClickListener did not consume the event.
Returns | |
---|---|
boolean |
true if one of the above receivers consumed the event,
false otherwise |
performReceiveContent
public ContentInfo performReceiveContent (ContentInfo payload)
Receives the given content. If no listener is set, invokes onReceiveContent(ContentInfo)
. If a
listener is set
, invokes the listener instead; if the
listener returns a non-null result, invokes onReceiveContent(ContentInfo)
to handle it.
Parameters | |
---|---|
payload |
ContentInfo : The content to insert and related metadata.
This value cannot be null . |
Returns | |
---|---|
ContentInfo |
The portion of the passed-in content that was not accepted (may be all, some, or none of the passed-in content). |
playSoundEffect
public void playSoundEffect (int soundConstant)
Play a sound effect for this view.
The framework will play sound effects for some built in actions, such as clicking, but you may wish to play these effects in your widget, for instance, for internal navigation.
The sound effect will only be played if sound effects are enabled by the user, and
isSoundEffectsEnabled()
is true.
Parameters | |
---|---|
soundConstant |
int : One of the constants defined in SoundEffectConstants .
Value is SoundEffectConstants.CLICK , SoundEffectConstants.NAVIGATION_LEFT , SoundEffectConstants.NAVIGATION_UP , SoundEffectConstants.NAVIGATION_RIGHT , SoundEffectConstants.NAVIGATION_DOWN , SoundEffectConstants.NAVIGATION_REPEAT_LEFT , SoundEffectConstants.NAVIGATION_REPEAT_UP , SoundEffectConstants.NAVIGATION_REPEAT_RIGHT , or SoundEffectConstants.NAVIGATION_REPEAT_DOWN |
post
public boolean post (Runnable action)
Causes the Runnable to be added to the message queue. The runnable will be run on the user interface thread.
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. |
postDelayed
public boolean postDelayed (Runnable action, long delayMillis)
Causes the Runnable to be added to the message queue, to be run after the specified amount of time elapses. The runnable will be run on the user interface thread.
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. |
See also:
postInvalidate
public void postInvalidate ()
Cause an invalidate to happen on a subsequent cycle through the event loop. Use this to invalidate the View from a non-UI thread.
This method can be invoked from outside of the UI thread only when this View is attached to a window.
See also:
postInvalidate
public void postInvalidate (int left, int top, int right, int bottom)
Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop. Use this to invalidate the View from a non-UI thread.
This method can be invoked from outside of the UI thread only when this View is attached to a window.
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. |
postInvalidateDelayed
public void postInvalidateDelayed (long delayMilliseconds, int left, int top, int right, int bottom)
Cause an invalidate of the specified area to happen on a subsequent cycle through the event loop. Waits for the specified amount of time.
This method can be invoked from outside of the UI thread only when this View is attached to a window.
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. |
postInvalidateDelayed
public void postInvalidateDelayed (long delayMilliseconds)
Cause an invalidate to happen on a subsequent cycle through the event loop. Waits for the specified amount of time.
This method can be invoked from outside of the UI thread only when this View is attached to a window.
Parameters | |
---|---|
delayMilliseconds |
long : the duration in milliseconds to delay the
invalidation by |
See also:
postInvalidateOnAnimation
public void postInvalidateOnAnimation (int left, int top, int right, int bottom)
Cause an invalidate of the specified area to happen on the next animation time step, typically the next display frame.
This method can be invoked from outside of the UI thread only when this View is attached to a window.
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. |
postInvalidateOnAnimation
public void postInvalidateOnAnimation ()
Cause an invalidate to happen on the next animation time step, typically the next display frame.
This method can be invoked from outside of the UI thread only when this View is attached to a window.
See also:
postOnAnimation
public void postOnAnimation (Runnable action)
Causes the Runnable to execute on the next animation time step. The runnable will be run on the user interface thread.
Parameters | |
---|---|
action |
Runnable : The Runnable that will be executed. |
postOnAnimationDelayed
public void postOnAnimationDelayed (Runnable action, long delayMillis)
Causes the Runnable to execute on the next animation time step, after the specified amount of time elapses. The runnable will be run on the user interface thread.
Parameters | |
---|---|
action |
Runnable : The Runnable that will be executed. |
delayMillis |
long : The delay (in milliseconds) until the Runnable
will be executed. |
refreshDrawableState
public void refreshDrawableState ()
Call this to force a view to update its drawable state. This will cause drawableStateChanged to be called on this view. Views that are interested in the new state should call getDrawableState.
See also:
releasePointerCapture
public void releasePointerCapture ()
Releases the pointer capture.
If the window does not have pointer capture, this call will do nothing.
removeCallbacks
public boolean removeCallbacks (Runnable action)
Removes the specified Runnable from the message queue.
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.) |
removeOnAttachStateChangeListener
public void removeOnAttachStateChangeListener (View.OnAttachStateChangeListener listener)
Remove a listener for attach state changes. The listener will receive no further notification of window attach/detach events.
Parameters | |
---|---|
listener |
View.OnAttachStateChangeListener : Listener to remove |
removeOnLayoutChangeListener
public void removeOnLayoutChangeListener (View.OnLayoutChangeListener listener)
Remove a listener for layout changes.
Parameters | |
---|---|
listener |
View.OnLayoutChangeListener : The listener for layout bounds change. |
removeOnUnhandledKeyEventListener
public void removeOnUnhandledKeyEventListener (View.OnUnhandledKeyEventListener listener)
Removes a listener which will receive unhandled KeyEvent
s. This must be called on the
UI thread.
Parameters | |
---|---|
listener |
View.OnUnhandledKeyEventListener : a receiver of unhandled KeyEvent s. |
requestApplyInsets
public void requestApplyInsets ()
Ask that a new dispatch of onApplyWindowInsets(android.view.WindowInsets)
be performed.
requestFitSystemWindows
public void requestFitSystemWindows ()
This method was deprecated
in API level 20.
Use requestApplyInsets()
for newer platform versions.
Ask that a new dispatch of fitSystemWindows(android.graphics.Rect)
be performed.
requestFocus
public final boolean requestFocus (int direction)
Call this to try to give focus to a specific view or to one of its
descendants and give it a hint about what direction focus is heading.
A view will not actually take focus if it is not focusable (isFocusable()
returns
false), or if it is focusable and it is not focusable in touch mode
(isFocusableInTouchMode()
) while the device is in touch mode.
See also focusSearch(int)
, which is what you call to say that you
have focus, and you want your parent to look for the next one.
This is equivalent to calling requestFocus(int, android.graphics.Rect)
with
null
set for the previously focused rectangle.
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. |
requestFocus
public final boolean requestFocus ()
Call this to try to give focus to a specific view or to one of its
descendants.
A view will not actually take focus if it is not focusable (isFocusable()
returns
false), or if it can't be focused due to other conditions (not focusable in touch mode
(isFocusableInTouchMode()
) while the device is in touch mode, not visible, not
enabled, or has no size).
See also focusSearch(int)
, which is what you call to say that you
have focus, and you want your parent to look for the next one.
This is equivalent to calling requestFocus(int, android.graphics.Rect)
with arguments
FOCUS_DOWN
and null
.
Returns | |
---|---|
boolean |
Whether this view or one of its descendants actually took focus. |
requestFocus
public boolean requestFocus (int direction, Rect previouslyFocusedRect)
Call this to try to give focus to a specific view or to one of its descendants
and give it hints about the direction and a specific rectangle that the focus
is coming from. The rectangle can help give larger views a finer grained hint
about where focus is coming from, and therefore, where to show selection, or
forward focus change internally.
A view will not actually take focus if it is not focusable (isFocusable()
returns
false), or if it is focusable and it is not focusable in touch mode
(isFocusableInTouchMode()
) while the device is in touch mode.
A View will not take focus if it is not visible.
A View will not take focus if one of its parents has
ViewGroup.getDescendantFocusability()
equal to
ViewGroup#FOCUS_BLOCK_DESCENDANTS
.
See also focusSearch(int)
, which is what you call to say that you
have focus, and you want your parent to look for the next one.
You may wish to override this method if your custom View
has an internal
View
that it wishes to forward the request to.
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. |
requestFocusFromTouch
public final boolean requestFocusFromTouch ()
Call this to try to give focus to a specific view or to one of its descendants. This is a
special variant of requestFocus()
that will allow views that are not focusable in
touch mode to request focus when they are touched.
Returns | |
---|---|
boolean |
Whether this view or one of its descendants actually took focus. |
See also:
requestLayout
public void requestLayout ()
Call this when something has changed which has invalidated the
layout of this view. This will schedule a layout pass of the view
tree. This should not be called while the view hierarchy is currently in a layout
pass (isInLayout()
. If layout is happening, the request may be honored at the
end of the current layout pass (and then layout will run again) or after the current
frame is drawn and the next layout occurs.
Subclasses which override this method should call the superclass method to handle possible request-during-layout errors correctly.
If you override this method you must call through to the superclass implementation.
requestPointerCapture
public void requestPointerCapture ()
Requests pointer capture mode.
When the window has pointer capture, the mouse pointer icon will disappear and will not change its position. Enabling pointer capture will change the behavior of input devices in the following ways:
- Events from a mouse will be delivered with the source
InputDevice#SOURCE_MOUSE_RELATIVE
, and relative position changes will be available throughMotionEvent#getX
andMotionEvent#getY
. - Events from a touchpad or trackpad will be delivered with the source
InputDevice#SOURCE_TOUCHPAD
, where the absolute position of each of the pointers on the touchpad will be available throughMotionEvent#getX(int)
andMotionEvent#getY(int)
, and their relative movements are stored inMotionEvent#AXIS_RELATIVE_X
andMotionEvent#AXIS_RELATIVE_Y
. - Events from other types of devices, such as touchscreens, will not be affected.
When pointer capture changes, connected mouse and trackpad devices may be reconfigured,
and their properties (such as their sources or motion ranges) may change. Use an
InputManager.InputDeviceListener
to be notified when a device
changes (which may happen after enabling or disabling pointer capture), and use
InputDevice#getDevice(int)
to get the updated InputDevice
.
Events captured through pointer capture will be dispatched to
OnCapturedPointerListener#onCapturedPointer(View, MotionEvent)
if an
OnCapturedPointerListener
is set, and otherwise to
onCapturedPointerEvent(android.view.MotionEvent)
.
If the window already has pointer capture, this call does nothing.
The capture may be released through releasePointerCapture()
, or will be lost
automatically when the window loses focus.
requestRectangleOnScreen
public boolean requestRectangleOnScreen (Rect rectangle)
Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.
A View should call this if it maintains some notion of which part of its content is interesting. For example, a text editing view should call this when its cursor moves.
The Rectangle passed into this method should be in the View's content coordinate space. It should not be affected by which part of the View is currently visible or its scroll position.
Parameters | |
---|---|
rectangle |
Rect : The rectangle in the View's content coordinate space |
Returns | |
---|---|
boolean |
Whether any parent scrolled. |
requestRectangleOnScreen
public boolean requestRectangleOnScreen (Rect rectangle, boolean immediate)
Request that a rectangle of this view be visible on the screen, scrolling if necessary just enough.
A View should call this if it maintains some notion of which part of its content is interesting. For example, a text editing view should call this when its cursor moves.
The Rectangle passed into this method should be in the View's content coordinate space. It should not be affected by which part of the View is currently visible or its scroll position.
When immediate
is set to true, scrolling will not be
animated.
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. |
requestUnbufferedDispatch
public final void requestUnbufferedDispatch (int source)
Request unbuffered dispatch of the given event source class to this view.
This is similar to View#requestUnbufferedDispatch(MotionEvent)
, but does not
automatically terminate, and allows the specification of arbitrary input source classes.
Prior to Build.VERSION_CODES.UPSIDE_DOWN_CAKE
, calling this method
will not result in any behavioral changes when this View is not attached to a window.
Parameters | |
---|---|
source |
int : The combined input source class to request unbuffered dispatch for. All
events coming from these source classes will not be buffered. Set to
InputDevice#SOURCE_CLASS_NONE in order to return to default behaviour.
Value is either 0 or a combination of InputDevice.SOURCE_CLASS_NONE , InputDevice.SOURCE_CLASS_BUTTON , InputDevice.SOURCE_CLASS_POINTER , InputDevice.SOURCE_CLASS_TRACKBALL , InputDevice.SOURCE_CLASS_POSITION , and InputDevice.SOURCE_CLASS_JOYSTICK |
See also:
requestUnbufferedDispatch
public final void requestUnbufferedDispatch (MotionEvent event)
Request unbuffered dispatch of the given stream of MotionEvents to this View.
Until this View receives a corresponding MotionEvent#ACTION_UP
, ask that the input
system not batch MotionEvent
s but instead deliver them as soon as they're
available. This method should only be called for touch events.
This API is not intended for most applications. Buffered dispatch
provides many of benefits, and just requesting unbuffered dispatch on most MotionEvent
streams will not improve your input latency. Side effects include: increased latency,
jittery scrolls and inability to take advantage of system resampling. Talk to your input
professional to see if requestUnbufferedDispatch(android.view.MotionEvent)
is right for
you.
requestUnbufferedDispatch(int)
,
Parameters | |
---|---|
event |
MotionEvent |
See also:
requireViewById
public final T requireViewById (int id)
Finds the first descendant view with the given ID, the view itself if the ID matches
getId()
, or throws an IllegalArgumentException if the ID is invalid or there is no
matching view in the hierarchy.
Note: In most cases -- depending on compiler support -- the resulting view is automatically cast to the target class type. If the target class type is unconstrained, an explicit cast may be necessary.
Parameters | |
---|---|
id |
int : the ID to search for |
Returns | |
---|---|
T |
a view with given ID
This value cannot be null . |
See also:
resetPivot
public void resetPivot ()
Clears any pivot previously set by a call to setPivotX(float)
or
setPivotY(float)
. After calling this isPivotSet()
will be false
and the pivot used for rotation will return to default of being centered on the view.
resolveSize
public static int resolveSize (int size, int measureSpec)
Version of resolveSizeAndState(int, int, int)
returning only the MEASURED_SIZE_MASK
bits of the result.
Parameters | |
---|---|
size |
int |
measureSpec |
int |
Returns | |
---|---|
int |
resolveSizeAndState
public static int resolveSizeAndState (int size, int measureSpec, int childMeasuredState)
Utility to reconcile a desired size and state, with constraints imposed
by a MeasureSpec. Will take the desired size, unless a different size
is imposed by the constraints. The returned value is a compound integer,
with the resolved size in the MEASURED_SIZE_MASK
bits and
optionally the bit MEASURED_STATE_TOO_SMALL
set if the
resulting size is smaller than the size the view wants to be.
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 . |
restoreDefaultFocus
public boolean restoreDefaultFocus ()
Gives focus to the default-focus view in the view hierarchy that has this view as a root.
If the default-focus view cannot be found, falls back to calling requestFocus(int)
.
Returns | |
---|---|
boolean |
Whether this view or one of its descendants actually took focus |
restoreHierarchyState
public void restoreHierarchyState (SparseArray<Parcelable> container)
Restore this view hierarchy's frozen state from the given container.
Parameters | |
---|---|
container |
SparseArray : The SparseArray which holds previously frozen states. |
saveAttributeDataForStyleable
public final void saveAttributeDataForStyleable (Context context, int[] styleable, AttributeSet attrs, TypedArray t, int defStyleAttr, int defStyleRes)
Stores debugging information about attributes. This should be called in a constructor by
every custom View
that uses a custom styleable. If the custom view does not call it,
then the custom attributes used by this view will not be visible in layout inspection tools.
Parameters | |
---|---|
context |
Context : Context under which this view is created.
This value cannot be null . |
styleable |
int : A reference to styleable array R.styleable.Foo
This value cannot be null . |
attrs |
AttributeSet : AttributeSet used to construct this view.
This value may be null . |
t |
TypedArray : Resolved TypedArray returned by a call to
Resources#obtainAttributes(AttributeSet, int[]) .
This value cannot be null . |
defStyleAttr |
int : Default style attribute passed into the view constructor. |
defStyleRes |
int : Default style resource passed into the view constructor. |
saveHierarchyState
public void saveHierarchyState (SparseArray<Parcelable> container)
Store this view hierarchy's frozen state into the given container.
Parameters | |
---|---|
container |
SparseArray : The SparseArray in which to save the view's state. |
scheduleDrawable
public void scheduleDrawable (Drawable who, Runnable what, long when)
Schedules an action on a drawable to occur at a specified time.
Parameters | |
---|---|
who |
Drawable : the recipient of the action
This value cannot be null . |
what |
Runnable : the action to run on the drawable
This value cannot be null . |
when |
long : the time at which the action must occur. Uses the
SystemClock#uptimeMillis timebase. |
scrollBy
public void scrollBy (int x, int y)
Move the scrolled position of your view. This will cause a call to
onScrollChanged(int, int, int, int)
and the view will be
invalidated.
Parameters | |
---|---|
x |
int : the amount of pixels to scroll by horizontally |
y |
int : the amount of pixels to scroll by vertically |
scrollTo
public void scrollTo (int x, int y)
Set the scrolled position of your view. This will cause a call to
onScrollChanged(int, int, int, int)
and the view will be
invalidated.
Parameters | |
---|---|
x |
int : the x position to scroll to |
y |
int : the y position to scroll to |
sendAccessibilityEvent
public void sendAccessibilityEvent (int eventType)
Sends an accessibility event of the given type. If accessibility is
not enabled this method has no effect. The default implementation calls
onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
first
to populate information about the event source (this View), then calls
dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
to
populate the text content of the event source including its descendants,
then for events type AccessibilityEvent#TYPE_VIEW_SCROLLED
and AccessibilityEvent#TYPE_WINDOW_CONTENT_CHANGED
with
subtype AccessibilityEvent#CONTENT_CHANGE_TYPE_STATE_DESCRIPTION
,
throttle the events, and last calls
ViewParent#requestSendAccessibilityEvent(View, AccessibilityEvent)
on its parent to request sending of the event to interested parties.
If an AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
AccessibilityDelegate#sendAccessibilityEvent(View, int)
is
responsible for handling this call.
If this view uses AccessibilityNodeProvider
to provide virtual view hierarchy rooted
at this view, this method should not be called to send events from virtual children because
it will populate the events with wrong information and the events should be throttled per
child instead at the virtual root level. To send events from virtual children, call
ViewParent#requestSendAccessibilityEvent(View, AccessibilityEvent)
on the view's
parent to request sending of the event to interested parties.
Parameters | |
---|---|
eventType |
int : The type of the event to send, as defined by several types from
AccessibilityEvent , such as
AccessibilityEvent#TYPE_VIEW_CLICKED or
AccessibilityEvent#TYPE_VIEW_HOVER_ENTER . |
sendAccessibilityEventUnchecked
public void sendAccessibilityEventUnchecked (AccessibilityEvent event)
This method behaves exactly as sendAccessibilityEvent(int)
but
takes as an argument an empty AccessibilityEvent
and does not
perform a check whether accessibility is enabled.
If an AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
AccessibilityDelegate#sendAccessibilityEventUnchecked(View, AccessibilityEvent)
is responsible for handling this call.
Parameters | |
---|---|
event |
AccessibilityEvent : The event to send. |
See also:
setAccessibilityDataSensitive
public void setAccessibilityDataSensitive (int accessibilityDataSensitive)
Specifies whether this view should only allow interactions from
AccessibilityService
s with the
AccessibilityServiceInfo.isAccessibilityTool()
property
set to true.
Parameters | |
---|---|
accessibilityDataSensitive |
int : Value is ACCESSIBILITY_DATA_SENSITIVE_AUTO , ACCESSIBILITY_DATA_SENSITIVE_YES , or ACCESSIBILITY_DATA_SENSITIVE_NO |
setAccessibilityDelegate
public void setAccessibilityDelegate (View.AccessibilityDelegate delegate)
Sets a delegate for implementing accessibility support via composition
(as opposed to inheritance). For more details, see
AccessibilityDelegate
.
Note: On platform versions prior to
API 23
, delegate methods on
views in the android.widget.*
package are called before
host methods. This prevents certain properties such as class name from
being modified by overriding
AccessibilityDelegate#onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo)
,
as any changes will be overwritten by the host class.
Starting in API 23
, delegate
methods are called after host methods, which all properties to be
modified without being overwritten by the host class.
Parameters | |
---|---|
delegate |
View.AccessibilityDelegate : the object to which accessibility method calls should be
delegated
This value may be null . |
See also:
setAccessibilityHeading
public void setAccessibilityHeading (boolean isHeading)
Set if view is a heading for a section of content for accessibility purposes.
Users of some accessibility services can choose to navigate between headings instead of between paragraphs, words, etc. Apps that provide headings on sections of text can help the text navigation experience.
Note: Use ViewCompat.setAccessibilityHeading(View, boolean)
for backwards-compatibility.
Related XML Attributes:
Parameters | |
---|---|
isHeading |
boolean : true if the view is a heading, false otherwise. |
setAccessibilityLiveRegion
public void setAccessibilityLiveRegion (int mode)
Sets the live region mode for this view. This indicates to accessibility services whether they should automatically notify the user about changes to the view's content description or text, or to the content descriptions or text of the view's children (where applicable).
Different priority levels are available:
-
ACCESSIBILITY_LIVE_REGION_POLITE
: Indicates that updates to the region should be presented to the user. Suitable in most cases for prominent updates within app content that don't require the user's immediate attention. -
ACCESSIBILITY_LIVE_REGION_ASSERTIVE
: Indicates that updates to the region have the highest priority and should be presented to the user immediately. This may result in disruptive notifications from an accessibility service, which may potentially interrupt other feedback or user actions, so it should generally be used only for critical, time-sensitive information. -
ACCESSIBILITY_LIVE_REGION_NONE
: Disables change announcements (the default for most views).
Examples:
-
Selecting an option in a dropdown menu updates a panel below with the updated
content. This panel may be marked as a live region with
ACCESSIBILITY_LIVE_REGION_POLITE
to notify users of the change. A screen reader may queue changes as announcements that don't disrupt ongoing speech. -
An emergency alert may be marked with
ACCESSIBILITY_LIVE_REGION_ASSERTIVE
to immediately inform users of the emergency.
For error notifications, like an "incorrect password" warning in a login screen, views
should send a AccessibilityEvent#TYPE_WINDOW_CONTENT_CHANGED
AccessibilityEvent
with a content change type
AccessibilityEvent#CONTENT_CHANGE_TYPE_ERROR
and set
AccessibilityNodeInfo#setError(CharSequence)
. Custom widgets should provide
error-setting methods that support accessibility. For example, use
TextView.setError(CharSequence)
instead of explicitly sending events.
Don't use live regions for frequently-updating UI elements (e.g., progress bars), as this can
overwhelm the user with feedback from accessibility services. If necessary, use
AccessibilityNodeInfo#setMinDurationBetweenContentChanges(Duration)
to throttle
feedback and reduce disruptions.
Related XML Attributes:
Parameters | |
---|---|
mode |
int : The live region mode for this view, one of:
|
setAccessibilityPaneTitle
public void setAccessibilityPaneTitle (CharSequence accessibilityPaneTitle)
Visually distinct portion of a window with window-like semantics are considered panes for
accessibility purposes. One example is the content view of a large fragment that is replaced.
In order for accessibility services to understand a pane's window-like behavior, panes
should have descriptive titles. Views with pane titles produce
AccessibilityEvent#TYPE_WINDOW_STATE_CHANGED
s when they appear, disappear, or change
title.
When transitioning from one Activity to another, instead of using
setAccessibilityPaneTitle()
, set a descriptive title for its window by using
android:label
for the matching Activity entry in your application's manifest or updating the title at
runtime with Activity.setTitle(CharSequence)
.
Related XML Attributes:
Parameters | |
---|---|
accessibilityPaneTitle |
CharSequence : The pane's title. Setting to null indicates that this
View is not a pane.
|
setAccessibilityTraversalAfter
public void setAccessibilityTraversalAfter (int afterId)
Sets the id of a view that screen readers are requested to visit before this view.
For example, if view B should be visited after A, with B.setAccessibilityTraversalAfter(A), then this requests that screen readers visit and traverse view A before visiting view B.
Note: Views are visited in the order determined by the screen reader. Avoid explicitly manipulating focus order, as this may result in inconsistent user experiences between apps. Instead, use other semantics, such as restructuring the view hierarchy layout, to communicate order.
Setting this view to be after a view that is not important for accessibility, or if this view is not important for accessibility, means this method will have no effect if the service is not aware of unimportant views.
To avoid a risk of loops, set clear relationships between views. For example, if focus order should be B -> A, and B.setAccessibilityTraversalBefore(A), then also call A.setAccessibilityTraversalAfter(B).
Related XML Attributes:
Parameters | |
---|---|
afterId |
int : The id of a view this one succeeds in accessibility traversal. |
setAccessibilityTraversalBefore
public void setAccessibilityTraversalBefore (int beforeId)
Sets the id of a view that screen readers are requested to visit after this view.
For example, if view B should be visited before view A, with B.setAccessibilityTraversalBefore(A), this requests that screen readers visit and traverse view B before visiting view A.
Note: Views are visited in the order determined by the screen reader. Avoid explicitly manipulating focus order, as this may result in inconsistent user experiences between apps. Instead, use other semantics, such as restructuring the view hierarchy layout, to communicate order.
Setting this view to be after a view that is not important for accessibility, or if this view is not important for accessibility, means this method will have no effect if the service is not aware of unimportant views.
To avoid a risk of loops, set clear relationships between views. For example, if focus order should be B -> A, and B.setAccessibilityTraversalBefore(A), then also call A.setAccessibilityTraversalAfter(B).
Related XML Attributes:
Parameters | |
---|---|
beforeId |
int : The id of a view this one precedes in accessibility traversal. |
setActivated
public void setActivated (boolean activated)
Changes the activated state of this view. A view can be activated or not. Note that activation is not the same as selection. Selection is a transient property, representing the view (hierarchy) the user is currently interacting with. Activation is a longer-term state that the user can move views in and out of. For example, in a list view with single or multiple selection enabled, the views in the current selection set are activated. (Um, yeah, we are deeply sorry about the terminology here.) The activated state is propagated down to children of the view it is set on.
Parameters | |
---|---|
activated |
boolean : true if the view must be activated, false otherwise |
setAllowClickWhenDisabled
public void setAllowClickWhenDisabled (boolean clickableWhenDisabled)
Enables or disables click events for this view when disabled.
Related XML Attributes:
Parameters | |
---|---|
clickableWhenDisabled |
boolean : true to make the view clickable, false otherwise |
setAllowedHandwritingDelegatePackage
public void setAllowedHandwritingDelegatePackage (String allowedPackageName)
Specifies that this view may act as a handwriting initiation delegator for a delegate editor view from the specified package. If this method is not called, delegators may only be used to initiate handwriting mode for a delegate editor view from the same package as the delegator view. This method allows specifying a different trusted package which may contain a delegate editor view linked to this delegator view.
This method has no effect unless setHandwritingDelegatorCallback(Runnable)
is also called
to configure this view to act as a handwriting delegator.
If this method is called on the delegator view, then setAllowedHandwritingDelegatorPackage(String)
should also be called on the delegate editor view.
For example, to configure a delegator view in package 1:
delegatorView.setHandwritingDelegatorCallback(callback); delegatorView.setAllowedHandwritingDelegatePackage(package2);Then to configure the corresponding delegate editor view in package 2:
delegateEditorView.setIsHandwritingDelegate(true); delegateEditorView.setAllowedHandwritingDelegatorPackage(package1);
Parameters | |
---|---|
allowedPackageName |
String : the package name of a delegate editor view linked to this delegator
view, or null to restore the default behavior of only allowing delegate editor
views from the same package as this delegator view |
setAllowedHandwritingDelegatorPackage
public void setAllowedHandwritingDelegatorPackage (String allowedPackageName)
Specifies that a view from the specified package may act as a handwriting delegator for this delegate editor view. If this method is not called, only views from the same package as this delegate editor view may act as a handwriting delegator. This method allows specifying a different trusted package which may contain a delegator view linked to this delegate editor view.
This method has no effect unless setIsHandwritingDelegate(boolean)
is also called to
configure this view to act as a handwriting delegate.
If this method is called on the delegate editor view, then setAllowedHandwritingDelegatePackage(String)
should also be called on the delegator view.
Parameters | |
---|---|
allowedPackageName |
String : the package name of a delegator view linked to this delegate editor
view, or null to restore the default behavior of only allowing delegator views
from the same package as this delegate editor view |
setAlpha
public void setAlpha (float alpha)
Sets the opacity of the view to a value from 0 to 1, where 0 means the view is completely transparent and 1 means the view is completely opaque.
Note: setting alpha to a translucent value (0 < alpha < 1) can have significant performance implications, especially for large views. It is best to use the alpha property sparingly and transiently, as in the case of fading animations.
For a view with a frequently changing alpha, such as during a fading animation, it is
strongly recommended for performance reasons to either override
hasOverlappingRendering()
to return false
if appropriate, or setting a
layer type
on the view for the duration
of the animation. On versions Build.VERSION_CODES.M
and below,
the default path for rendering an unlayered View with alpha could add multiple milliseconds
of rendering cost, even for simple or small views. Starting with
Build.VERSION_CODES.M
, LAYER_TYPE_HARDWARE
is automatically
applied to the view at the rendering level.
If this view overrides onSetAlpha(int)
to return true, then this view is
responsible for applying the opacity itself.
On versions Build.VERSION_CODES.LOLLIPOP_MR1
and below, note that if
the view is backed by a layer
and is
associated with a layer paint
, setting an
alpha value less than 1.0 will supersede the alpha of the layer paint.
Starting with Build.VERSION_CODES.M
, setting a translucent alpha
value will clip a View to its bounds, unless the View returns false
from
hasOverlappingRendering()
.
Related XML Attributes:
Parameters | |
---|---|
alpha |
float : The opacity of the view.
Value is between 0.0 and 1.0 inclusive |
setAnimation
public void setAnimation (Animation animation)
Sets the next animation to play for this view.
If you want the animation to play immediately, use
startAnimation(android.view.animation.Animation)
instead.
This method provides allows fine-grained
control over the start time and invalidation, but you
must make sure that 1) the animation has a start time set, and
2) the view's parent (which controls animations on its children)
will be invalidated when the animation is supposed to
start.
Parameters | |
---|---|
animation |
Animation : The next animation, or null. |
setAnimationMatrix
public void setAnimationMatrix (Matrix matrix)
Changes the transformation matrix on the view. This is used in animation frameworks,
such as Transition
. When the animation finishes, the matrix
should be cleared by calling this method with null
as the matrix parameter.
Application developers should use transformation methods like setRotation(float)
,
setScaleX(float)
, setScaleX(float)
, setTranslationX(float)
}
and setTranslationY(float)
(float)}} instead.
Parameters | |
---|---|
matrix |
Matrix : The matrix, null indicates that the matrix should be cleared. |
See also:
setAutoHandwritingEnabled
public void setAutoHandwritingEnabled (boolean enabled)
Set whether this view enables automatic handwriting initiation.
For a view with an active InputConnection
, if auto handwriting is enabled then
stylus movement within its view boundary will automatically trigger the handwriting mode.
Check InputMethodManager.startStylusHandwriting(View)
for
more details about handwriting mode.
If the View wants to initiate handwriting mode by itself, it can set this field to
false
and call
InputMethodManager.startStylusHandwriting(View)
when there
is stylus movement detected.
Note that this attribute has no effect on the View's children. For example, if a
ViewGroup
disables auto handwriting but its children set auto handwriting to true,
auto handwriting will still work for the children, and vice versa.
Related XML Attributes:
Parameters | |
---|---|
enabled |
boolean : whether auto handwriting initiation is enabled for this view. |
setAutofillHints
public void setAutofillHints (String... autofillHints)
Sets the hints that help an AutofillService
determine how
to autofill the view with the user's data.
Typically, there is only one way to autofill a view, but there could be more than one. For example, if the application accepts either an username or email address to identify an user.
These hints are not validated by the Android System, but passed "as is" to the service.
Hence, they can have any value, but it's recommended to use the AUTOFILL_HINT_
constants such as:
AUTOFILL_HINT_USERNAME
, AUTOFILL_HINT_PASSWORD
,
AUTOFILL_HINT_EMAIL_ADDRESS
,
AUTOFILL_HINT_NAME
,
AUTOFILL_HINT_PHONE
,
AUTOFILL_HINT_POSTAL_ADDRESS
, AUTOFILL_HINT_POSTAL_CODE
,
AUTOFILL_HINT_CREDIT_CARD_NUMBER
, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE
,
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE
,
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY
,
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH
or
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR
.
Related XML Attributes:
Parameters | |
---|---|
autofillHints |
String : The autofill hints to set. If the array is emtpy, null is set. |
setAutofillId
public void setAutofillId (AutofillId id)
Sets the unique, logical identifier of this view in the activity, for autofill purposes.
The autofill id is created on demand, and this method should only be called when a view is
reused after dispatchProvideAutofillStructure(android.view.ViewStructure, int)
is called, as
that method creates a snapshot of the view that is passed along to the autofill service.
This method is typically used when view subtrees are recycled to represent different content* —in this case, the autofill id can be saved before the view content is swapped out, and restored later when it's swapped back in. For example:
EditText reusableView = ...; ViewGroup parentView = ...; AutofillManager afm = ...; // Swap out the view and change its contents AutofillId oldId = reusableView.getAutofillId(); CharSequence oldText = reusableView.getText(); parentView.removeView(reusableView); AutofillId newId = afm.getNextAutofillId(); reusableView.setText("New I am"); reusableView.setAutofillId(newId); parentView.addView(reusableView); // Later, swap the old content back in parentView.removeView(reusableView); reusableView.setAutofillId(oldId); reusableView.setText(oldText); parentView.addView(reusableView);
NOTE: If this view is a descendant of an AdapterView
, the system
may reset its autofill id when this view is recycled. If the autofill ids need to be stable,
they should be set again in
Adapter.getView(int, android.view.View, android.view.ViewGroup)
.
Parameters | |
---|---|
id |
AutofillId : an autofill ID that is unique in the Activity hosting the view,
or null to reset it. Usually it's an id previously allocated to another view (and
obtained through getAutofillId() ), or a new value obtained through
AutofillManager#getNextAutofillId() . |
Throws | |
---|---|
IllegalStateException |
if the view is already attached to
a window . |
IllegalArgumentException |
if the id is an autofill id associated with a virtual view. |
setBackground
public void setBackground (Drawable background)
Set the background to a given Drawable, or remove the background. If the
background has padding, this View's padding is set to the background's
padding. However, when a background is removed, this View's padding isn't
touched. If setting the padding is desired, please use
setPadding(int, int, int, int)
.
Parameters | |
---|---|
background |
Drawable : The Drawable to use as the background, or null to remove the
background |
setBackgroundColor
public void setBackgroundColor (int color)
Sets the background color for this view.
Parameters | |
---|---|
color |
int : the color of the background |
setBackgroundDrawable
public void setBackgroundDrawable (Drawable background)
This method was deprecated
in API level 16.
use setBackground(android.graphics.drawable.Drawable)
instead
Parameters | |
---|---|
background |
Drawable |
setBackgroundResource
public void setBackgroundResource (int resid)
Set the background to a given resource. The resource should refer to a Drawable object or 0 to remove the background.
Related XML Attributes:
Parameters | |
---|---|
resid |
int : The identifier of the resource. |
setBackgroundTintBlendMode
public void setBackgroundTintBlendMode (BlendMode blendMode)
Specifies the blending mode used to apply the tint specified by
setBackgroundTintList(android.content.res.ColorStateList)
} to the background
drawable. The default mode is BlendMode#SRC_IN
.
Related XML Attributes:
Parameters | |
---|---|
blendMode |
BlendMode : the blending mode used to apply the tint, may be
null to clear tint |
setBackgroundTintList
public void setBackgroundTintList (ColorStateList tint)
Applies a tint to the background drawable. Does not modify the current tint
mode, which is BlendMode#SRC_IN
by default.
Subsequent calls to setBackground(android.graphics.drawable.Drawable)
will automatically
mutate the drawable and apply the specified tint and tint mode using
Drawable#setTintList(ColorStateList)
.
Related XML Attributes:
Parameters | |
---|---|
tint |
ColorStateList : the tint to apply, may be null to clear tint |
setBackgroundTintMode
public void setBackgroundTintMode (PorterDuff.Mode tintMode)
Specifies the blending mode used to apply the tint specified by
setBackgroundTintList(android.content.res.ColorStateList)
} to the background
drawable. The default mode is PorterDuff.Mode#SRC_IN
.
Related XML Attributes:
Parameters | |
---|---|
tintMode |
PorterDuff.Mode : the blending mode used to apply the tint, may be
null to clear tint |
setBottom
public final void setBottom (int bottom)
Sets the bottom position of this view relative to its parent. This method is meant to be called by the layout system and should not generally be called otherwise, because the property may be changed at any time by the layout.
Parameters | |
---|---|
bottom |
int : The bottom of this view, in pixels. |
setCameraDistance
public void setCameraDistance (float distance)
Sets the distance along the Z axis (orthogonal to the X/Y plane on which views are drawn) from the camera to this view. The camera's distance affects 3D transformations, for instance rotations around the X and Y axis. If the rotationX or rotationY properties are changed and this view is large (more than half the size of the screen), it is recommended to always use a camera distance that's greater than the height (X axis rotation) or the width (Y axis rotation) of this view.
The distance of the camera from the view plane can have an affect on the perspective distortion of the view when it is rotated around the x or y axis. For example, a large distance will result in a large viewing angle, and there will not be much perspective distortion of the view as it rotates. A short distance may cause much more perspective distortion upon rotation, and can also result in some drawing artifacts if the rotated view ends up partially behind the camera (which is why the recommendation is to use a distance at least as far as the size of the view, if the view is to be rotated.)
The distance is expressed in "depth pixels." The default distance depends on the screen density. For instance, on a medium density display, the default distance is 1280. On a high density display, the default distance is 1920.
If you want to specify a distance that leads to visually consistent results across various densities, use the following formula:
float scale = context.getResources().getDisplayMetrics().density; view.setCameraDistance(distance * scale);
The density scale factor of a high density display is 1.5, and 1920 = 1280 * 1.5.
Parameters | |
---|---|
distance |
float : The distance in "depth pixels", if negative the opposite
value is used |
See also:
setClickable
public void setClickable (boolean clickable)
Enables or disables click events for this view. When a view is clickable it will change its state to "pressed" on every click. Subclasses should set the view clickable to visually react to user's clicks.
Related XML Attributes:
Parameters | |
---|---|
clickable |
boolean : true to make the view clickable, false otherwise |
See also:
setClipBounds
public void setClipBounds (Rect clipBounds)
Sets a rectangular area on this view to which the view will be clipped when it is drawn. Setting the value to null will remove the clip bounds and the view will draw normally, using its full bounds.
Parameters | |
---|---|
clipBounds |
Rect : The rectangular area, in the local coordinates of
this view, to which future drawing operations will be clipped. |
setClipToOutline
public void setClipToOutline (boolean clipToOutline)
Sets whether the View's Outline should be used to clip the contents of the View.
Only a single non-rectangular clip can be applied on a View at any time.
Circular clips from a circular reveal
animation take priority over Outline clipping, and
child Outline clipping takes priority over Outline clipping done by a
parent.
Note that this flag will only be respected if the View's Outline returns true from
Outline#canClip()
.
Related XML Attributes:
Parameters | |
---|---|
clipToOutline |
boolean |
setContentCaptureSession
public void setContentCaptureSession (ContentCaptureSession contentCaptureSession)
Sets the (optional) ContentCaptureSession
associated with this view.
This method should be called when you need to associate a ContentCaptureContext
to
the content capture events associated with this view or its view hierarchy (if it's a
ViewGroup
).
For example, if your activity is associated with a web domain, first you would need to set the context for the main DOM:
ContentCaptureSession mainSession = rootView.getContentCaptureSession(); mainSession.setContentCaptureContext(ContentCaptureContext.forLocusId(Uri.parse(myUrl));
Then if the page had an IFRAME
, you would create a new session for it:
ContentCaptureSession iframeSession = mainSession.createContentCaptureSession( ContentCaptureContext.forLocusId(Uri.parse(iframeUrl))); iframeView.setContentCaptureSession(iframeSession);
Parameters | |
---|---|
contentCaptureSession |
ContentCaptureSession : a session created by
ContentCaptureSession#createContentCaptureSession(
android.view.contentcapture.ContentCaptureContext) .
This value may be null . |
setContentDescription
public void setContentDescription (CharSequence contentDescription)
Sets the View
's content description.
A content description briefly describes the view and is primarily used
for accessibility support to determine how a view should be presented to
the user. In the case of a view with no textual representation, such as
ImageButton
, a useful content description
explains what the view does. For example, an image button with a phone
icon that is used to place a call may use "Call" as its content
description. An image of a floppy disk that is used to save a file may
use "Save".
This should omit role or state. Role refers to the kind of user-interface element the View is, such as a Button or Checkbox. State refers to a frequently changing property of the View, such as an On/Off state of a button or the audio level of a volume slider.
Content description updates are not frequent, and are used when the semantic content - not the state - of the element changes. For example, a Play button might change to a Pause button during music playback.
Related XML Attributes:
Parameters | |
---|---|
contentDescription |
CharSequence : The content description. |
setContentSensitivity
public final void setContentSensitivity (int mode)
Sets content sensitivity mode to determine whether this view displays sensitive content (e.g. username, password etc.). The system will improve user privacy i.e. hide content drawn by a sensitive view from screen sharing and recording.
The window hosting a sensitive view will be marked as secure during an active media
projection session. This would be equivalent to applying
WindowManager.LayoutParams.FLAG_SECURE
to the window.
Parameters | |
---|---|
mode |
int : CONTENT_SENSITIVITY_AUTO , CONTENT_SENSITIVITY_NOT_SENSITIVE
or CONTENT_SENSITIVITY_SENSITIVE
Value is CONTENT_SENSITIVITY_AUTO , CONTENT_SENSITIVITY_SENSITIVE , or CONTENT_SENSITIVITY_NOT_SENSITIVE |
setContextClickable
public void setContextClickable (boolean contextClickable)
Enables or disables context clicking for this view. This event can launch the listener.
Related XML Attributes:
Parameters | |
---|---|
contextClickable |
boolean : true to make the view react to a context click, false otherwise |
See also:
setDefaultFocusHighlightEnabled
public void setDefaultFocusHighlightEnabled (boolean defaultFocusHighlightEnabled)
Sets whether this View should use a default focus highlight when it gets focused but doesn't
have R.attr.state_focused
defined in its background.
Related XML Attributes:
Parameters | |
---|---|
defaultFocusHighlightEnabled |
boolean : true to set this view to use a default focus
highlight, false otherwise. |
setDrawingCacheBackgroundColor
public void setDrawingCacheBackgroundColor (int color)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Setting a solid background color for the drawing cache's bitmaps will improve performance and memory usage. Note, though that this should only be used if this view will always be drawn on top of a solid color.
Parameters | |
---|---|
color |
int : The background color to use for the drawing cache's bitmap |
setDrawingCacheEnabled
public void setDrawingCacheEnabled (boolean enabled)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Enables or disables the drawing cache. When the drawing cache is enabled, the next call
to getDrawingCache()
or buildDrawingCache()
will draw the view in a
bitmap. Calling draw(android.graphics.Canvas)
will not draw from the cache when
the cache is enabled. To benefit from the cache, you must request the drawing cache by
calling getDrawingCache()
and draw it on screen if the returned bitmap is not
null.
Enabling the drawing cache is similar to
setting a layer
when hardware
acceleration is turned off. When hardware acceleration is turned on, enabling the
drawing cache has no effect on rendering because the system uses a different mechanism
for acceleration which ignores the flag. If you want to use a Bitmap for the view, even
when hardware acceleration is enabled, see setLayerType(int, android.graphics.Paint)
for information on how to enable software and hardware layers.
This API can be used to manually generate
a bitmap copy of this view, by setting the flag to true
and calling
getDrawingCache()
.
Parameters | |
---|---|
enabled |
boolean : true to enable the drawing cache, false otherwise |
setDrawingCacheQuality
public void setDrawingCacheQuality (int quality)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Set the drawing cache quality of this view. This value is used only when the drawing cache is enabled
Related XML Attributes:
Parameters | |
---|---|
quality |
int : One of DRAWING_CACHE_QUALITY_AUTO ,
DRAWING_CACHE_QUALITY_LOW , or DRAWING_CACHE_QUALITY_HIGH
Value is DRAWING_CACHE_QUALITY_LOW , DRAWING_CACHE_QUALITY_HIGH , or DRAWING_CACHE_QUALITY_AUTO |
setDuplicateParentStateEnabled
public void setDuplicateParentStateEnabled (boolean enabled)
Enables or disables the duplication of the parent's state into this view. When duplication is enabled, this view gets its drawable state from its parent rather than from its own internal properties.
Note: in the current implementation, setting this property to true after the view was added to a ViewGroup might have no effect at all. This property should always be used from XML or set to true before adding this view to a ViewGroup.
Note: if this view's parent addStateFromChildren property is enabled and this property is enabled, an exception will be thrown.
Note: if the child view uses and updates additional states which are unknown to the parent, these states should not be affected by this method.
Parameters | |
---|---|
enabled |
boolean : True to enable duplication of the parent's drawable state, false
to disable it. |
setElevation
public void setElevation (float elevation)
Sets the base elevation of this view, in pixels.
Related XML Attributes:
Parameters | |
---|---|
elevation |
float |
setEnabled
public void setEnabled (boolean enabled)
Set the enabled state of this view. The interpretation of the enabled state varies by subclass.
Parameters | |
---|---|
enabled |
boolean : True if this view is enabled, false otherwise. |
setFadingEdgeLength
public void setFadingEdgeLength (int length)
Set the size of the faded edge used to indicate that more content in this
view is available. Will not change whether the fading edge is enabled; use
setVerticalFadingEdgeEnabled(boolean)
or
setHorizontalFadingEdgeEnabled(boolean)
to enable the fading edge
for the vertical or horizontal fading edges.
Parameters | |
---|---|
length |
int : The size in pixels of the faded edge used to indicate that more
content in this view is visible. |
setFilterTouchesWhenObscured
public void setFilterTouchesWhenObscured (boolean enabled)
Sets whether the framework should discard touches when the view's
window is obscured by another visible window at the touched location.
Refer to the View
security documentation for more details.
Related XML Attributes:
Parameters | |
---|---|
enabled |
boolean : True if touch filtering should be enabled. |
See also:
setFitsSystemWindows
public void setFitsSystemWindows (boolean fitSystemWindows)
Sets whether or not this view should account for system screen decorations
such as the status bar and inset its content; that is, controlling whether
the default implementation of fitSystemWindows(android.graphics.Rect)
will be
executed. See that method for more details.
Note that if you are providing your own implementation of
fitSystemWindows(android.graphics.Rect)
, then there is no need to set this
flag to true -- your implementation will be overriding the default
implementation that checks this flag.
Related XML Attributes:
Parameters | |
---|---|
fitSystemWindows |
boolean : If true, then the default implementation of
fitSystemWindows(android.graphics.Rect) will be executed. |
setFocusable
public void setFocusable (boolean focusable)
Set whether this view can receive the focus.
Setting this to false will also ensure that this view is not focusable in touch mode.
Related XML Attributes:
Parameters | |
---|---|
focusable |
boolean : If true, this view can receive the focus. |
setFocusable
public void setFocusable (int focusable)
Sets whether this view can receive focus.
Setting this to FOCUSABLE_AUTO
tells the framework to determine focusability
automatically based on the view's interactivity. This is the default.
Setting this to NOT_FOCUSABLE will ensure that this view is also not focusable in touch mode.
Related XML Attributes:
Parameters | |
---|---|
focusable |
int : One of NOT_FOCUSABLE , FOCUSABLE ,
or FOCUSABLE_AUTO .
Value is NOT_FOCUSABLE , FOCUSABLE , or FOCUSABLE_AUTO |
See also:
setFocusableInTouchMode
public void setFocusableInTouchMode (boolean focusableInTouchMode)
Set whether this view can receive focus while in touch mode. Setting this to true will also ensure that this view is focusable.
Related XML Attributes:
Parameters | |
---|---|
focusableInTouchMode |
boolean : If true, this view can receive the focus while
in touch mode. |
See also:
setFocusedByDefault
public void setFocusedByDefault (boolean isFocusedByDefault)
Sets whether this View should receive focus when the focus is restored for the view hierarchy containing this view.
Focus gets restored for a view hierarchy when the root of the hierarchy gets added to a window or serves as a target of cluster navigation.
Related XML Attributes:
Parameters | |
---|---|
isFocusedByDefault |
boolean : true to set this view as the default-focus view,
false otherwise. |
See also:
setForceDarkAllowed
public void setForceDarkAllowed (boolean allow)
Sets whether or not to allow force dark to apply to this view.
Setting this to false will disable the auto-dark feature on everything this view
draws, including any descendants.
Setting this to true will allow this view to be automatically made dark, however
a value of 'true' will not override any 'false' value in its parent chain nor will
it prevent any 'false' in any of its children.
The default behavior of force dark is also influenced by the Theme's
isLightTheme
attribute.
If a theme is isLightTheme="false", then force dark is globally disabled for that theme.
Parameters | |
---|---|
allow |
boolean : Whether or not to allow force dark. |
setForeground
public void setForeground (Drawable foreground)
Supply a Drawable that is to be rendered on top of all of the content in the view.
Related XML Attributes:
Parameters | |
---|---|
foreground |
Drawable : the Drawable to be drawn on top of the children |
setForegroundGravity
public void setForegroundGravity (int gravity)
Describes how the foreground is positioned. Defaults to START and TOP.
Related XML Attributes:
Parameters | |
---|---|
gravity |
int : see Gravity |
See also:
setForegroundTintBlendMode
public void setForegroundTintBlendMode (BlendMode blendMode)
Specifies the blending mode used to apply the tint specified by
setForegroundTintList(android.content.res.ColorStateList)
} to the background
drawable. The default mode is BlendMode#SRC_IN
.
Related XML Attributes:
Parameters | |
---|---|
blendMode |
BlendMode : the blending mode used to apply the tint, may be
null to clear tint |
setForegroundTintList
public void setForegroundTintList (ColorStateList tint)
Applies a tint to the foreground drawable. Does not modify the current tint
mode, which is PorterDuff.Mode#SRC_IN
by default.
Subsequent calls to setForeground(android.graphics.drawable.Drawable)
will automatically
mutate the drawable and apply the specified tint and tint mode using
Drawable#setTintList(ColorStateList)
.
Related XML Attributes:
Parameters | |
---|---|
tint |
ColorStateList : the tint to apply, may be null to clear tint |
setForegroundTintMode
public void setForegroundTintMode (PorterDuff.Mode tintMode)
Specifies the blending mode used to apply the tint specified by
setForegroundTintList(android.content.res.ColorStateList)
} to the background
drawable. The default mode is PorterDuff.Mode#SRC_IN
.
Related XML Attributes:
Parameters | |
---|---|
tintMode |
PorterDuff.Mode : the blending mode used to apply the tint, may be
null to clear tint |
setFrameContentVelocity
public void setFrameContentVelocity (float pixelsPerSecond)
Set the current velocity of the View, we only track positive value. We will use the velocity information to adjust the frame rate when applicable. For example, we could potentially lower the frame rate when the velocity of a fling gesture becomes slower. Note that this is only valid till the next drawn frame.
Parameters | |
---|---|
pixelsPerSecond |
float : how many pixels move per second. |
setHandwritingBoundsOffsets
public void setHandwritingBoundsOffsets (float offsetLeft, float offsetTop, float offsetRight, float offsetBottom)
Set the amount of offset applied to this view's stylus handwriting bounds. A positive offset will offset the edge outwards.The base handwriting bounds of a view is its visible bounds. The handwriting bounds offsets are applied to the base handwriting bounds to determine the final handwriting bounds.
This method is mainly used to enlarge the view's handwriting bounds for a better user experience.
Note that when the view is clipped (e.g. the view is in a
ScrollView
), the offsets are applied after the view's handwriting
bounds is clipped.
Parameters | |
---|---|
offsetLeft |
float : the amount of pixel offset applied to the left edge outwards of the view's
handwriting bounds. |
offsetTop |
float : the amount of pixel offset applied to the top edge outwards of the view's
handwriting bounds. |
offsetRight |
float : the amount of pixel offset applied to the right edge outwards of the
view's handwriting bounds. |
offsetBottom |
float : the amount of pixel offset applied to the bottom edge outwards of the
view's handwriting bounds. |
setHandwritingDelegateFlags
public void setHandwritingDelegateFlags (int flags)
Sets flags configuring the handwriting delegation behavior for this delegate editor view.
This method has no effect unless setIsHandwritingDelegate(boolean)
is also called to
configure this view to act as a handwriting delegate.
Parameters | |
---|---|
flags |
int : InputMethodManager#HANDWRITING_DELEGATE_FLAG_HOME_DELEGATOR_ALLOWED or
0
Value is either 0 or InputMethodManager.HANDWRITING_DELEGATE_FLAG_HOME_DELEGATOR_ALLOWED |
setHandwritingDelegatorCallback
public void setHandwritingDelegatorCallback (Runnable callback)
Sets a callback which should be called when a stylus MotionEvent
occurs within this
view's bounds. The callback will be called from the UI thread.
Setting a callback allows this view to act as a handwriting delegator, so that handwriting
mode for a delegate editor view can be initiated by stylus movement on this delegator view.
The callback implementation is expected to show and focus the delegate editor view. If a view
which returns true
for isHandwritingDelegate()
creates an input connection
while the same stylus MotionEvent
sequence is ongoing, handwriting mode will be
initiated for that view.
A common use case is a custom view which looks like a text editor but does not actually
support text editing itself, and clicking on the custom view causes an EditText to be shown.
To support handwriting initiation in this case, this method can be called on the custom view
to configure it as a delegator. The EditText should call setIsHandwritingDelegate(boolean)
to
set it as a delegate. The callback
implementation is typically the same as the click
listener implementation which shows the EditText.
If null
is passed, this view will no longer act as a handwriting initiation
delegator.
Parameters | |
---|---|
callback |
Runnable : a callback which should be called when a stylus MotionEvent occurs
within this view's bounds
This value may be null . |
setHapticFeedbackEnabled
public void setHapticFeedbackEnabled (boolean hapticFeedbackEnabled)
Set whether this view should have haptic feedback for events such as long presses.
You may wish to disable haptic feedback if your view already controls its own haptic feedback.
Related XML Attributes:
Parameters | |
---|---|
hapticFeedbackEnabled |
boolean : whether haptic feedback enabled for this view. |
setHasTransientState
public void setHasTransientState (boolean hasTransientState)
Set whether this view is currently tracking transient state that the framework should attempt to preserve when possible. This flag is reference counted, so every call to setHasTransientState(true) should be paired with a later call to setHasTransientState(false).
A view with transient state cannot be trivially rebound from an external data source, such as an adapter binding item views in a list. This may be because the view is performing an animation, tracking user selection of content, or similar.
Parameters | |
---|---|
hasTransientState |
boolean : true if this view has transient state |
setHorizontalFadingEdgeEnabled
public void setHorizontalFadingEdgeEnabled (boolean horizontalFadingEdgeEnabled)
Define whether the horizontal edges should be faded when this view is scrolled horizontally.
Related XML Attributes:
Parameters | |
---|---|
horizontalFadingEdgeEnabled |
boolean : true if the horizontal edges should
be faded when the view is scrolled
horizontally |
See also:
setHorizontalScrollBarEnabled
public void setHorizontalScrollBarEnabled (boolean horizontalScrollBarEnabled)
Define whether the horizontal scrollbar should be drawn or not. The scrollbar is not drawn by default.
Parameters | |
---|---|
horizontalScrollBarEnabled |
boolean : true if the horizontal scrollbar should
be painted |
See also:
setHorizontalScrollbarThumbDrawable
public void setHorizontalScrollbarThumbDrawable (Drawable drawable)
Defines the horizontal thumb drawable
Related XML Attributes:
Parameters | |
---|---|
drawable |
Drawable : This value may be null . |
setHorizontalScrollbarTrackDrawable
public void setHorizontalScrollbarTrackDrawable (Drawable drawable)
Defines the horizontal track drawable
Related XML Attributes:
Parameters | |
---|---|
drawable |
Drawable : This value may be null . |
setHovered
public void setHovered (boolean hovered)
Sets whether the view is currently hovered.
Calling this method also changes the drawable state of the view. This enables the view to react to hover by using different drawable resources to change its appearance.
The onHoverChanged(boolean)
method is called when the hovered state changes.
Parameters | |
---|---|
hovered |
boolean : True if the view is hovered. |
See also:
setId
public void setId (int id)
Sets the identifier for this view. The identifier does not have to be unique in this view's hierarchy. The identifier should be a positive number.
Related XML Attributes:
Parameters | |
---|---|
id |
int : a number used to identify the view |
See also:
setImportantForAccessibility
public void setImportantForAccessibility (int mode)
Sets how to determine whether 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.
Related XML Attributes:
Parameters | |
---|---|
mode |
int : How to determine whether this view is important for accessibility. |
setImportantForAutofill
public void setImportantForAutofill (int mode)
Sets the mode for determining whether this view is considered important for autofill.
The platform determines the importance for autofill automatically but you can use this method to customize the behavior. For example:
- When the view contents is irrelevant for autofill (for example, a text field used in a
"Captcha" challenge), it should be
IMPORTANT_FOR_AUTOFILL_NO
. - When both the view and its children are irrelevant for autofill (for example, the root
view of an activity containing a spreadhseet editor), it should be
IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
. - When the view content is relevant for autofill but its children aren't (for example,
a credit card expiration date represented by a custom view that overrides the proper
autofill methods and has 2 children representing the month and year), it should
be
IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS
.
Note: Setting the mode as IMPORTANT_FOR_AUTOFILL_NO
or
IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
does not guarantee the view (and its
children) will not be used for autofill purpose; for example, when the user explicitly
makes an autofill request, all views are included in the ViewStructure, and starting in
Build.VERSION_CODES.UPSIDE_DOWN_CAKE
the system uses other factors along
with importance to determine the autofill behavior. See isImportantForAutofill()
for more details about how the View's importance for autofill is used.
Related XML Attributes:
setImportantForContentCapture
public void setImportantForContentCapture (int mode)
Sets the mode for determining whether this view is considered important for content capture.
The platform determines the importance for autofill automatically but you
can use this method to customize the behavior. Typically, a view that provides text should
be marked as IMPORTANT_FOR_CONTENT_CAPTURE_YES
.
Related XML Attributes:
setIsCredential
public void setIsCredential (boolean isCredential)
Sets whether this view is a credential for Credential Manager purposes.
See isCredential()
.
Related XML Attributes:
Parameters | |
---|---|
isCredential |
boolean : Whether the view is a credential. |
setIsHandwritingDelegate
public void setIsHandwritingDelegate (boolean isHandwritingDelegate)
Sets this view to be a handwriting delegate. If a delegate view creates an input connection
while a stylus MotionEvent
sequence from a delegator view is ongoing, handwriting
mode will be initiated for the delegate view.
Parameters | |
---|---|
isHandwritingDelegate |
boolean : whether this view is a handwriting initiation delegate |
setKeepScreenOn
public void setKeepScreenOn (boolean keepScreenOn)
Controls whether the screen should remain on, modifying the
value of KEEP_SCREEN_ON
.
Related XML Attributes:
Parameters | |
---|---|
keepScreenOn |
boolean : Supply true to set KEEP_SCREEN_ON . |
See also:
setKeyboardNavigationCluster
public void setKeyboardNavigationCluster (boolean isCluster)
Set whether this view is a root of a keyboard navigation cluster.
Related XML Attributes:
Parameters | |
---|---|
isCluster |
boolean : If true, this view is a root of a cluster. |
setLabelFor
public void setLabelFor (int id)
Sets the id of a view for which this view serves as a label for accessibility purposes.
Parameters | |
---|---|
id |
int : The labeled view id. |
setLayerPaint
public void setLayerPaint (Paint paint)
Updates the Paint
object used with the current layer (used only if the current
layer type is not set to LAYER_TYPE_NONE
). Changed properties of the Paint
provided to setLayerType(int, android.graphics.Paint)
will be used the next time
the View is redrawn, but setLayerPaint(android.graphics.Paint)
must be called to
ensure that the view gets redrawn immediately.
A layer is associated with an optional Paint
instance that controls how the layer is composed on screen. The following
properties of the paint are taken into account when composing the layer:
If this view has an alpha value set to < 1.0 by calling setAlpha(float)
, the
alpha value of the layer's paint is superseded by this view's alpha value.
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 |
setLayerType
public void setLayerType (int layerType, Paint paint)
Specifies the type of layer backing this view. The layer can be
LAYER_TYPE_NONE
, LAYER_TYPE_SOFTWARE
or
LAYER_TYPE_HARDWARE
.
A layer is associated with an optional Paint
instance that controls how the layer is composed on screen. The following
properties of the paint are taken into account when composing the layer:
If this view has an alpha value set to < 1.0 by calling
setAlpha(float)
, the alpha value of the layer's paint is superseded
by this view's alpha value.
Refer to the documentation of LAYER_TYPE_NONE
,
LAYER_TYPE_SOFTWARE
and LAYER_TYPE_HARDWARE
for more information on when and how to use layers.
Related XML Attributes:
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
Value is 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 |
setLayoutDirection
public void setLayoutDirection (int layoutDirection)
Set the layout direction for this view. This will propagate a reset of layout direction resolution to the view's children and resolve layout direction for this view.
Related XML Attributes:
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 .
Value is LAYOUT_DIRECTION_LTR , LAYOUT_DIRECTION_RTL , LAYOUT_DIRECTION_INHERIT , or LAYOUT_DIRECTION_LOCALE |
setLayoutParams
public void setLayoutParams (ViewGroup.LayoutParams params)
Set the layout parameters associated with this view. These supply parameters to the parent of this view specifying how it should be arranged. There are many subclasses of ViewGroup.LayoutParams, and these correspond to the different subclasses of ViewGroup that are responsible for arranging their children.
Parameters | |
---|---|
params |
ViewGroup.LayoutParams : The layout parameters for this view, cannot be null |
setLeft
public final void setLeft (int left)
Sets the left position of this view relative to its parent. This method is meant to be called by the layout system and should not generally be called otherwise, because the property may be changed at any time by the layout.
Parameters | |
---|---|
left |
int : The left of this view, in pixels. |
setLeftTopRightBottom
public final void setLeftTopRightBottom (int left, int top, int right, int bottom)
Assign a size and position to this view. This method is meant to be used in animations only as it applies this position and size for the view only temporary and it can be changed back at any time by the layout.
Parameters | |
---|---|
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 |
setLongClickable
public void setLongClickable (boolean longClickable)
Enables or disables long click events for this view. When a view is long clickable it reacts to the user holding down the button for a longer duration than a tap. This event can either launch the listener or a context menu.
Related XML Attributes:
Parameters | |
---|---|
longClickable |
boolean : true to make the view long clickable, false otherwise |
See also:
setMinimumHeight
public void setMinimumHeight (int minHeight)
Sets the minimum height of the view. It is not guaranteed the view will be able to achieve this minimum height (for example, if its parent layout constrains it with less available height).
Related XML Attributes:
Parameters | |
---|---|
minHeight |
int : The minimum height the view will try to be, in pixels |
See also:
setMinimumWidth
public void setMinimumWidth (int minWidth)
Sets the minimum width of the view. It is not guaranteed the view will be able to achieve this minimum width (for example, if its parent layout constrains it with less available width).
Related XML Attributes:
Parameters | |
---|---|
minWidth |
int : The minimum width the view will try to be, in pixels |
See also:
setNestedScrollingEnabled
public void setNestedScrollingEnabled (boolean enabled)
Enable or disable nested scrolling for this view.
If this property is set to true the view will be permitted to initiate nested
scrolling operations with a compatible parent view in the current hierarchy. If this
view does not implement nested scrolling this will have no effect. Disabling nested scrolling
while a nested scroll is in progress has the effect of stopping
the nested scroll.
Parameters | |
---|---|
enabled |
boolean : true to enable nested scrolling, false to disable |
See also:
setNextClusterForwardId
public void setNextClusterForwardId (int nextClusterForwardId)
Sets the id of the view to use as the root of the next keyboard navigation cluster.
Related XML Attributes:
Parameters | |
---|---|
nextClusterForwardId |
int : The next cluster ID, or NO_ID if the framework should
decide automatically. |
setNextFocusDownId
public void setNextFocusDownId (int nextFocusDownId)
Sets the id of the view to use when the next focus is FOCUS_DOWN
.
Related XML Attributes:
Parameters | |
---|---|
nextFocusDownId |
int : The next focus ID, or NO_ID if the framework should
decide automatically. |
setNextFocusForwardId
public void setNextFocusForwardId (int nextFocusForwardId)
Sets the id of the view to use when the next focus is FOCUS_FORWARD
.
Related XML Attributes:
Parameters | |
---|---|
nextFocusForwardId |
int : The next focus ID, or NO_ID if the framework should
decide automatically. |
setNextFocusLeftId
public void setNextFocusLeftId (int nextFocusLeftId)
Sets the id of the view to use when the next focus is FOCUS_LEFT
.
Related XML Attributes:
Parameters | |
---|---|
nextFocusLeftId |
int : The next focus ID, or NO_ID if the framework should
decide automatically. |
setNextFocusRightId
public void setNextFocusRightId (int nextFocusRightId)
Sets the id of the view to use when the next focus is FOCUS_RIGHT
.
Related XML Attributes:
Parameters | |
---|---|
nextFocusRightId |
int : The next focus ID, or NO_ID if the framework should
decide automatically. |
setNextFocusUpId
public void setNextFocusUpId (int nextFocusUpId)
Sets the id of the view to use when the next focus is FOCUS_UP
.
Related XML Attributes:
Parameters | |
---|---|
nextFocusUpId |
int : The next focus ID, or NO_ID if the framework should
decide automatically. |
setOnApplyWindowInsetsListener
public void setOnApplyWindowInsetsListener (View.OnApplyWindowInsetsListener listener)
Set an OnApplyWindowInsetsListener
to take over the policy for applying
window insets to this view. The listener's
onApplyWindowInsets
method will be called instead of the view's
onApplyWindowInsets
method.
Parameters | |
---|---|
listener |
View.OnApplyWindowInsetsListener : Listener to set |
See also:
setOnCapturedPointerListener
public void setOnCapturedPointerListener (View.OnCapturedPointerListener l)
Set a listener to receive callbacks when the pointer capture state of a view changes.
Parameters | |
---|---|
l |
View.OnCapturedPointerListener : The OnCapturedPointerListener to receive callbacks. |
setOnClickListener
public void setOnClickListener (View.OnClickListener l)
Register a callback to be invoked when this view is clicked. If this view is not clickable, it becomes clickable.
Parameters | |
---|---|
l |
View.OnClickListener : The callback that will run
This value may be null . |
See also:
setOnContextClickListener
public void setOnContextClickListener (View.OnContextClickListener l)
Register a callback to be invoked when this view is context clicked. If the view is not context clickable, it becomes context clickable.
Parameters | |
---|---|
l |
View.OnContextClickListener : The callback that will run
This value may be null . |
See also:
setOnCreateContextMenuListener
public void setOnCreateContextMenuListener (View.OnCreateContextMenuListener l)
Register a callback to be invoked when the context menu for this view is being built. If this view is not long clickable, it becomes long clickable.
Parameters | |
---|---|
l |
View.OnCreateContextMenuListener : The callback that will run |
setOnDragListener
public void setOnDragListener (View.OnDragListener l)
Register a drag event listener callback object for this View. The parameter is
an implementation of View.OnDragListener
. To send a drag event to a
View, the system calls the
View.OnDragListener.onDrag(View, DragEvent)
method.
Parameters | |
---|---|
l |
View.OnDragListener : An implementation of View.OnDragListener . |
setOnFocusChangeListener
public void setOnFocusChangeListener (View.OnFocusChangeListener l)
Register a callback to be invoked when focus of this view changed.
Parameters | |
---|---|
l |
View.OnFocusChangeListener : The callback that will run. |
setOnGenericMotionListener
public void setOnGenericMotionListener (View.OnGenericMotionListener l)
Register a callback to be invoked when a generic motion event is sent to this view.
Parameters | |
---|---|
l |
View.OnGenericMotionListener : the generic motion listener to attach to this view |
setOnHoverListener
public void setOnHoverListener (View.OnHoverListener l)
Register a callback to be invoked when a hover event is sent to this view.
Parameters | |
---|---|
l |
View.OnHoverListener : the hover listener to attach to this view |
setOnKeyListener
public void setOnKeyListener (View.OnKeyListener l)
Register a callback to be invoked when a hardware key is pressed in this view. Key presses in software input methods will generally not trigger the methods of this listener.
Parameters | |
---|---|
l |
View.OnKeyListener : the key listener to attach to this view |
setOnLongClickListener
public void setOnLongClickListener (View.OnLongClickListener l)
Register a callback to be invoked when this view is clicked and held. If this view is not long clickable, it becomes long clickable.
Parameters | |
---|---|
l |
View.OnLongClickListener : The callback that will run
This value may be null . |
See also:
setOnReceiveContentListener
public void setOnReceiveContentListener (String[] mimeTypes, OnReceiveContentListener listener)
Sets the listener to be used
to handle insertion of
content into this view.
Depending on the type of view, this listener may be invoked for different scenarios. For
example, for an editable TextView
, this listener will be invoked for
the following scenarios:
- Paste from the clipboard (e.g. "Paste" or "Paste as plain text" action in the insertion/selection menu)
- Content insertion from the keyboard (from
InputConnection#commitContent
) - Drag and drop (drop events from
onDragEvent(DragEvent)
) - Autofill
- Selection replacement via
Intent#ACTION_PROCESS_TEXT
When setting a listener, clients must also declare the accepted MIME types. The listener will still be invoked even if the MIME type of the content is not one of the declared MIME types (e.g. if the user pastes content whose type is not one of the declared MIME types). In that case, the listener may reject the content (defer to the default platform behavior) or execute some other fallback logic (e.g. show an appropriate message to the user). The declared MIME types serve as a hint to allow different features to optionally alter their behavior. For example, a soft keyboard may optionally choose to hide its UI for inserting GIFs for a particular input field if the MIME types set here for that field don't include "image/gif" or "image/*".
Note: MIME type matching in the Android framework is case-sensitive, unlike formal RFC
MIME types. As a result, you should always write your MIME types with lowercase letters,
or use Intent.normalizeMimeType(String)
to ensure that it is converted to
lowercase.
Parameters | |
---|---|
mimeTypes |
String : The MIME types accepted by the given listener. These may use patterns
such as "image/*", but may not start with a wildcard. This argument must
not be null or empty if a non-null listener is passed in. |
listener |
OnReceiveContentListener : The listener to use. This can be null to reset to the default behavior. |
setOnScrollChangeListener
public void setOnScrollChangeListener (View.OnScrollChangeListener l)
Register a callback to be invoked when the scroll X or Y positions of this view change.
Note: Some views handle scrolling independently from View and may
have their own separate listeners for scroll-type events. For example,
ListView
allows clients to register an
AbsListView.OnScrollListener
to listen for changes in list scroll position.
Parameters | |
---|---|
l |
View.OnScrollChangeListener : The listener to notify when the scroll X or Y position changes. |
See also:
setOnSystemUiVisibilityChangeListener
public void setOnSystemUiVisibilityChangeListener (View.OnSystemUiVisibilityChangeListener l)
This method was deprecated
in API level 30.
Use WindowInsets#isVisible(int)
to find out about system bar visibilities
by setting a OnApplyWindowInsetsListener
on this view.
Set a listener to receive callbacks when the visibility of the system bar changes.
Parameters | |
---|---|
l |
View.OnSystemUiVisibilityChangeListener : The OnSystemUiVisibilityChangeListener to receive callbacks. |
setOnTouchListener
public void setOnTouchListener (View.OnTouchListener l)
Register a callback to be invoked when a touch event is sent to this view.
Parameters | |
---|---|
l |
View.OnTouchListener : the touch listener to attach to this view |
setOutlineAmbientShadowColor
public void setOutlineAmbientShadowColor (int color)
Sets the color of the ambient shadow that is drawn when the view has a positive Z or elevation value.
By default the shadow color is black. Generally, this color will be opaque so the intensity of the shadow is consistent between different views with different colors.
The opacity of the final ambient shadow is a function of the shadow caster height, the
alpha channel of the outlineAmbientShadowColor (typically opaque), and the
R.attr.ambientShadowAlpha
theme attribute.
Related XML Attributes:
Parameters | |
---|---|
color |
int : The color this View will cast for its elevation shadow. |
setOutlineProvider
public void setOutlineProvider (ViewOutlineProvider provider)
Sets the ViewOutlineProvider
of the view, which generates the Outline that defines
the shape of the shadow it casts, and enables outline clipping.
The default ViewOutlineProvider, ViewOutlineProvider#BACKGROUND
, queries the Outline
from the View's background drawable, via Drawable#getOutline(Outline)
. Changing the
outline provider with this method allows this behavior to be overridden.
If the ViewOutlineProvider is null, if querying it for an outline returns false,
or if the produced Outline is Outline#isEmpty()
, shadows will not be cast.
Only outlines that return true from Outline#canClip()
may be used for clipping.
Parameters | |
---|---|
provider |
ViewOutlineProvider |
setOutlineSpotShadowColor
public void setOutlineSpotShadowColor (int color)
Sets the color of the spot shadow that is drawn when the view has a positive Z or elevation value.
By default the shadow color is black. Generally, this color will be opaque so the intensity of the shadow is consistent between different views with different colors.
The opacity of the final spot shadow is a function of the shadow caster height, the
alpha channel of the outlineSpotShadowColor (typically opaque), and the
R.attr.spotShadowAlpha
theme attribute.
Related XML Attributes:
Parameters | |
---|---|
color |
int : The color this View will cast for its elevation spot shadow. |
setOverScrollMode
public void setOverScrollMode (int overScrollMode)
Set the over-scroll mode for this view. Valid over-scroll modes are
OVER_SCROLL_ALWAYS
, OVER_SCROLL_IF_CONTENT_SCROLLS
(allow over-scrolling only if the view content is larger than the container),
or OVER_SCROLL_NEVER
.
Setting the over-scroll mode of a view will have an effect only if the
view is capable of scrolling.
Parameters | |
---|---|
overScrollMode |
int : The new over-scroll mode for this view. |
setPadding
public void setPadding (int left, int top, int right, int bottom)
Sets the padding. The view may add on the space required to display
the scrollbars, depending on the style and visibility of the scrollbars.
So the values returned from getPaddingLeft()
, getPaddingTop()
,
getPaddingRight()
and getPaddingBottom()
may be different
from the values set in this call.
Related XML Attributes:
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 |
setPaddingRelative
public void setPaddingRelative (int start, int top, int end, int bottom)
Sets the relative padding. The view may add on the space required to display
the scrollbars, depending on the style and visibility of the scrollbars.
So the values returned from getPaddingStart()
, getPaddingTop()
,
getPaddingEnd()
and getPaddingBottom()
may be different
from the values set in this call.
Related XML Attributes:
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 |
setPendingCredentialRequest
public void setPendingCredentialRequest (GetCredentialRequest request, OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback)
Sets a CredentialManager
request to retrieve credentials, when the user focuses
on this given view.
When this view is focused, the given request
will be fired to
CredentialManager
, which will fetch content from all
CredentialProviderService
services on the
device, and then display credential options to the user on a relevant UI
(dropdown, keyboard suggestions etc.).
When the user selects a credential, the final GetCredentialResponse
will be
propagated to the given callback
. Developers are expected to handle the response
programmatically and perform a relevant action, e.g. signing in the user.
For details on how to build a Credential Manager request, please see
GetCredentialRequest
.
This API should be called at any point before the user focuses on the view, e.g. during
onCreate
of an Activity.
Parameters | |
---|---|
request |
GetCredentialRequest : the request to be fired when this view is entered
This value cannot be null . |
callback |
OutcomeReceiver : to be invoked when either a response or an exception needs to be
propagated for the given view
This value cannot be null . |
setPivotX
public void setPivotX (float pivotX)
Sets the x location of the point around which the view is
rotated
and scaled
.
By default, the pivot point is centered on the object.
Setting this property disables this behavior and causes the view to use only the
explicitly set pivotX and pivotY values.
Related XML Attributes:
Parameters | |
---|---|
pivotX |
float : The x location of the pivot point. |
setPivotY
public void setPivotY (float pivotY)
Sets the y location of the point around which the view is rotated
and scaled
. By default, the pivot point is centered on the object.
Setting this property disables this behavior and causes the view to use only the
explicitly set pivotX and pivotY values.
Related XML Attributes:
Parameters | |
---|---|
pivotY |
float : The y location of the pivot point. |
setPointerIcon
public void setPointerIcon (PointerIcon pointerIcon)
Set the pointer icon to be used for a mouse pointer in the current view.
Passing null
will restore the pointer icon to its default value.
Note that setting the pointer icon using this method will only set it for events coming from
a mouse device (i.e. with source InputDevice#SOURCE_MOUSE
). To resolve
the pointer icon for other device types like styluses, override
onResolvePointerIcon(android.view.MotionEvent, int)
.
Parameters | |
---|---|
pointerIcon |
PointerIcon : A PointerIcon instance which will be shown when the mouse hovers. |
setPreferKeepClear
public final void setPreferKeepClear (boolean preferKeepClear)
Set a preference to keep the bounds of this view clear from floating windows above this view's window. This informs the system that the view is considered a vital area for the user and that ideally it should not be covered. Setting this is only appropriate for UI where the user would likely take action to uncover it.
The system will try to respect this preference, but when not possible will ignore it.
Note: This is independent from setPreferKeepClearRects(List)
. If both are set, both will
be taken into account.
Related XML Attributes:
Parameters | |
---|---|
preferKeepClear |
boolean |
setPreferKeepClearRects
public final void setPreferKeepClearRects (List<Rect> rects)
Set a preference to keep the provided rects clear from floating windows above this view's window. This informs the system that these rects are considered vital areas for the user and that ideally they should not be covered. Setting this is only appropriate for UI where the user would likely take action to uncover it.
The system will try to respect this preference, but when not possible will ignore it.
Note: This is independent from setPreferKeepClear(boolean)
. If both are set, both will be
taken into account.
Parameters | |
---|---|
rects |
List : A list of rects in this view's local coordinate system
This value cannot be null . |
setPressed
public void setPressed (boolean pressed)
Sets the pressed state for this view.
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. |
See also:
setRenderEffect
public void setRenderEffect (RenderEffect renderEffect)
Configure the RenderEffect
to apply to this View.
This will apply a visual effect to the results of the View before it is drawn. For example if
RenderEffect#createBlurEffect(float, float, RenderEffect, Shader.TileMode)
is provided, the contents will be drawn in a separate layer, then this layer will be blurred
when this View is drawn.
Parameters | |
---|---|
renderEffect |
RenderEffect : to be applied to the View. Passing null clears the previously configured
RenderEffect |
setRequestedFrameRate
public void setRequestedFrameRate (float frameRate)
You can set the preferred frame rate for a View using a positive number or by specifying the preferred frame rate category using constants, including REQUESTED_FRAME_RATE_CATEGORY_NO_PREFERENCE, REQUESTED_FRAME_RATE_CATEGORY_LOW, REQUESTED_FRAME_RATE_CATEGORY_NORMAL, REQUESTED_FRAME_RATE_CATEGORY_HIGH. Keep in mind that the preferred frame rate affects the frame rate for the next frame, so use this method carefully. It's important to note that the preference is valid as long as the View is invalidated.
Parameters | |
---|---|
frameRate |
float : the preferred frame rate of the view. |
setRevealOnFocusHint
public final void setRevealOnFocusHint (boolean revealOnFocus)
Sets this view's preference for reveal behavior when it gains focus.
When set to true, this is a signal to ancestor views in the hierarchy that this view would prefer to be brought fully into view when it gains focus. For example, a text field that a user is meant to type into. Other views such as scrolling containers may prefer to opt-out of this behavior.
The default value for views is true, though subclasses may change this based on their preferred behavior.
Parameters | |
---|---|
revealOnFocus |
boolean : true to request reveal on focus in ancestors, false otherwise |
See also:
setRight
public final void setRight (int right)
Sets the right position of this view relative to its parent. This method is meant to be called by the layout system and should not generally be called otherwise, because the property may be changed at any time by the layout.
Parameters | |
---|---|
right |
int : The right of this view, in pixels. |
setRotation
public void setRotation (float rotation)
Sets the degrees that the view is rotated around the pivot point. Increasing values result in clockwise rotation.
Related XML Attributes:
Parameters | |
---|---|
rotation |
float : The degrees of rotation. |
setRotationX
public void setRotationX (float rotationX)
Sets the degrees that the view is rotated around the horizontal axis through the pivot point.
Increasing values result in clockwise rotation from the viewpoint of looking down the
x axis.
When rotating large views, it is recommended to adjust the camera distance
accordingly. Refer to setCameraDistance(float)
for more information.
Related XML Attributes:
Parameters | |
---|---|
rotationX |
float : The degrees of X rotation. |
setRotationY
public void setRotationY (float rotationY)
Sets the degrees that the view is rotated around the vertical axis through the pivot point.
Increasing values result in counter-clockwise rotation from the viewpoint of looking
down the y axis.
When rotating large views, it is recommended to adjust the camera distance
accordingly. Refer to setCameraDistance(float)
for more information.
Related XML Attributes:
Parameters | |
---|---|
rotationY |
float : The degrees of Y rotation. |
setSaveEnabled
public void setSaveEnabled (boolean enabled)
Controls whether the saving of this view's state is
enabled (that is, whether its onSaveInstanceState()
method
will be called). Note that even if freezing is enabled, the
view still must have an id assigned to it (via setId(int)
)
for its state to be saved. This flag can only disable the
saving of this view; any child views may still have their state saved.
Related XML Attributes:
Parameters | |
---|---|
enabled |
boolean : Set to false to disable state saving, or true
(the default) to allow it. |
setSaveFromParentEnabled
public void setSaveFromParentEnabled (boolean enabled)
Controls whether the entire hierarchy under this view will save its
state when a state saving traversal occurs from its parent. The default
is true; if false, these views will not be saved unless
saveHierarchyState(android.util.SparseArray)
is called directly on this view.
Parameters | |
---|---|
enabled |
boolean : Set to false to disable state saving, or true
(the default) to allow it. |
setScaleX
public void setScaleX (float scaleX)
Sets the amount that the view is scaled in x around the pivot point, as a proportion of the view's unscaled width. A value of 1 means that no scaling is applied.
Related XML Attributes:
Parameters | |
---|---|
scaleX |
float : The scaling factor. |
See also:
setScaleY
public void setScaleY (float scaleY)
Sets the amount that the view is scaled in Y around the pivot point, as a proportion of the view's unscaled width. A value of 1 means that no scaling is applied.
Related XML Attributes:
Parameters | |
---|---|
scaleY |
float : The scaling factor. |
See also:
setScreenReaderFocusable
public void setScreenReaderFocusable (boolean screenReaderFocusable)
Sets whether this View should be a focusable element for screen readers and include non-focusable Views from its subtree when providing feedback.
Note: this is similar to using android:focusable
,
but does not impact input focus behavior.
Related XML Attributes:
Parameters | |
---|---|
screenReaderFocusable |
boolean : Whether the view should be treated as a unit by screen reader
accessibility tools. |
setScrollBarDefaultDelayBeforeFade
public void setScrollBarDefaultDelayBeforeFade (int scrollBarDefaultDelayBeforeFade)
Define the delay before scrollbars fade.
Related XML Attributes:
Parameters | |
---|---|
scrollBarDefaultDelayBeforeFade |
int : - the delay before scrollbars fade |
setScrollBarFadeDuration
public void setScrollBarFadeDuration (int scrollBarFadeDuration)
Define the scrollbar fade duration.
Related XML Attributes:
Parameters | |
---|---|
scrollBarFadeDuration |
int : - the scrollbar fade duration, in milliseconds |
setScrollBarSize
public void setScrollBarSize (int scrollBarSize)
Define the scrollbar size.
Related XML Attributes:
Parameters | |
---|---|
scrollBarSize |
int : - the scrollbar size |
setScrollBarStyle
public void setScrollBarStyle (int style)
Specify the style of the scrollbars. The scrollbars can be overlaid or inset. When inset, they add to the padding of the view. And the scrollbars can be drawn inside the padding area or on the edge of the view. For example, if a view has a background drawable and you want to draw the scrollbars inside the padding specified by the drawable, you can use SCROLLBARS_INSIDE_OVERLAY or SCROLLBARS_INSIDE_INSET. If you want them to appear at the edge of the view, ignoring the padding, then you can use SCROLLBARS_OUTSIDE_OVERLAY or SCROLLBARS_OUTSIDE_INSET.
Related XML Attributes:
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.
Value is SCROLLBARS_INSIDE_OVERLAY , SCROLLBARS_INSIDE_INSET , SCROLLBARS_OUTSIDE_OVERLAY , or SCROLLBARS_OUTSIDE_INSET |
setScrollCaptureCallback
public final void setScrollCaptureCallback (ScrollCaptureCallback callback)
Sets the callback to receive scroll capture requests. This component is the adapter between the scroll capture API and application UI code. If no callback is set, the system may provide an implementation. Any value provided here will take precedence over a system version.
This view will be ignored when SCROLL_CAPTURE_HINT_EXCLUDE
is set in its scrollCaptureHint
, regardless whether a callback has been set.
It is recommended to set the scroll capture hint SCROLL_CAPTURE_HINT_INCLUDE
when
setting a custom callback to help ensure it is selected as the target.
Parameters | |
---|---|
callback |
ScrollCaptureCallback : the new callback to assign
This value may be null . |
setScrollCaptureHint
public void setScrollCaptureHint (int hint)
Sets the scroll capture hint for this View. These flags affect the search for a potential scroll capture targets.
Parameters | |
---|---|
hint |
int : the scrollCaptureHint flags value to set
Value is either 0 or a combination of SCROLL_CAPTURE_HINT_AUTO , SCROLL_CAPTURE_HINT_EXCLUDE , SCROLL_CAPTURE_HINT_INCLUDE , and SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS |
setScrollContainer
public void setScrollContainer (boolean isScrollContainer)
Change whether this view is one of the set of scrollable containers in its window. This will be used to determine whether the window can resize or must pan when a soft input area is open -- scrollable containers allow the window to use resize mode since the container will appropriately shrink.
Related XML Attributes:
Parameters | |
---|---|
isScrollContainer |
boolean |
setScrollIndicators
public void setScrollIndicators (int indicators, int mask)
Sets the state of the scroll indicators specified by the mask. To change
all scroll indicators at once, see setScrollIndicators(int)
.
When a scroll indicator is enabled, it will be displayed if the view can scroll in the direction of the indicator.
Multiple indicator types may be enabled or disabled by passing the logical OR of the desired types. If multiple types are specified, they will all be set to the same enabled state.
For example, to enable the top scroll indicatorExample: {@code setScrollIndicators
Related XML Attributes:
Parameters | |
---|---|
indicators |
int : the indicator direction, or the logical OR of multiple
indicator directions. One or more of:
|
mask |
int : Value is either 0 or a combination of SCROLL_INDICATOR_TOP , SCROLL_INDICATOR_BOTTOM , SCROLL_INDICATOR_LEFT , SCROLL_INDICATOR_RIGHT , SCROLL_INDICATOR_START , and SCROLL_INDICATOR_END |
setScrollIndicators
public void setScrollIndicators (int indicators)
Sets the state of all scroll indicators.
See setScrollIndicators(int, int)
for usage information.
Related XML Attributes:
Parameters | |
---|---|
indicators |
int : a bitmask of indicators that should be enabled, or
0 to disable all indicators
Value is either 0 or a combination of SCROLL_INDICATOR_TOP , SCROLL_INDICATOR_BOTTOM , SCROLL_INDICATOR_LEFT , SCROLL_INDICATOR_RIGHT , SCROLL_INDICATOR_START , and SCROLL_INDICATOR_END |
setScrollX
public void setScrollX (int value)
Set the horizontal scrolled position of your view. This will cause a call to
onScrollChanged(int, int, int, int)
and the view will be
invalidated.
Parameters | |
---|---|
value |
int : the x position to scroll to |
setScrollY
public void setScrollY (int value)
Set the vertical scrolled position of your view. This will cause a call to
onScrollChanged(int, int, int, int)
and the view will be
invalidated.
Parameters | |
---|---|
value |
int : the y position to scroll to |
setScrollbarFadingEnabled
public void setScrollbarFadingEnabled (boolean fadeScrollbars)
Define whether scrollbars will fade when the view is not scrolling.
Related XML Attributes:
Parameters | |
---|---|
fadeScrollbars |
boolean : whether to enable fading |
setSelected
public void setSelected (boolean selected)
Changes the selection state of this view. A view can be selected or not. Note that selection is not the same as focus. Views are typically selected in the context of an AdapterView like ListView or GridView; the selected view is the view that is highlighted.
Parameters | |
---|---|
selected |
boolean : true if the view must be selected, false otherwise |
setSoundEffectsEnabled
public void setSoundEffectsEnabled (boolean soundEffectsEnabled)
Set whether this view should have sound effects enabled for events such as clicking and touching.
You may wish to disable sound effects for a view if you already play sounds, for instance, a dial key that plays dtmf tones.
Related XML Attributes:
Parameters | |
---|---|
soundEffectsEnabled |
boolean : whether sound effects are enabled for this view. |
setStateDescription
public void setStateDescription (CharSequence stateDescription)
Sets the View
's state description.
A state description briefly describes the states of the view and is primarily used for accessibility support to determine how the states of a view should be presented to the user. It is a supplement to the boolean states (for example, checked/unchecked) and it is used for customized state description (for example, "wifi, connected, three bars"). State description changes frequently while content description should change less often. State description should be localized. For android widgets which have default state descriptions, app developers can call this method to override the state descriptions. Setting state description to null restores the default behavior.
Parameters | |
---|---|
stateDescription |
CharSequence : The state description.
This value may be null . |
setStateListAnimator
public void setStateListAnimator (StateListAnimator stateListAnimator)
Attaches the provided StateListAnimator to this View.
Any previously attached StateListAnimator will be detached.
Parameters | |
---|---|
stateListAnimator |
StateListAnimator : The StateListAnimator to update the view |
See also:
setSystemGestureExclusionRects
public void setSystemGestureExclusionRects (List<Rect> rects)
Sets a list of areas within this view's post-layout coordinate space where the system
should not intercept touch or other pointing device gestures. This method should
be called by onLayout(boolean, int, int, int, int)
or onDraw(android.graphics.Canvas)
.
Use this to tell the system which specific sub-areas of a view need to receive gesture
input in order to function correctly in the presence of global system gestures that may
conflict. For example, if the system wishes to capture swipe-in-from-screen-edge gestures
to provide system-level navigation functionality, a view such as a navigation drawer
container can mark the left (or starting) edge of itself as requiring gesture capture
priority using this API. The system may then choose to relax its own gesture recognition
to allow the app to consume the user's gesture. It is not necessary for an app to register
exclusion rects for broadly spanning regions such as the entirety of a
ScrollView
or for simple press and release click targets such as
Button
. Mark an exclusion rect when interacting with a view requires
a precision touch gesture in a small area in either the X or Y dimension, such as
an edge swipe or dragging a SeekBar
thumb.
Note: the system will put a limit of 200dp
on the vertical extent of the
exclusions it takes into account. The limit does not apply while the navigation
bar is stickily
hidden, nor to the
input method
and
home activity
.
Parameters | |
---|---|
rects |
List : A list of precision gesture regions that this view needs to function correctly
This value cannot be null . |
setSystemUiVisibility
public void setSystemUiVisibility (int visibility)
This method was deprecated
in API level 30.
SystemUiVisibility flags are deprecated. Use WindowInsetsController
instead.
Request that the visibility of the status bar or other screen/window decorations be changed.
This method is used to put the over device UI into temporary modes
where the user's attention is focused more on the application content,
by dimming or hiding surrounding system affordances. This is typically
used in conjunction with Window.FEATURE_ACTION_BAR_OVERLAY
, allowing the applications content
to be placed behind the action bar (and with these flags other system
affordances) so that smooth transitions between hiding and showing them
can be done.
Two representative examples of the use of system UI visibility is implementing a content browsing application (like a magazine reader) and a video playing application.
The first code shows a typical implementation of a View in a content browsing application. In this implementation, the application goes into a content-oriented mode by hiding the status bar and action bar, and putting the navigation elements into lights out mode. The user can then interact with content while in this mode. Such an application should provide an easy way for the user to toggle out of the mode (such as to check information in the status bar or access notifications). In the implementation here, this is done simply by tapping on the content.
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); } }
This second code sample shows a typical implementation of a View
in a video playing application. In this situation, while the video is
playing the application would like to go into a complete full-screen mode,
to use as much of the display as possible for the video. When in this state
the user can not interact with the application; the system intercepts
touching on the screen to pop the UI out of full screen mode. See
fitSystemWindows(android.graphics.Rect)
for a sample layout that goes with this code.
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 . |
setTag
public void setTag (int key, Object tag)
Sets a tag associated with this view and a key. A tag can be used
to mark a view in its hierarchy and does not have to be unique within
the hierarchy. Tags can also be used to store data within a view
without resorting to another data structure.
The specified key should be an id declared in the resources of the
application to ensure it is unique (see the ID resource type).
Keys identified as belonging to
the Android framework or not associated with any package will cause
an IllegalArgumentException
to be thrown.
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 |
See also:
setTag
public void setTag (Object tag)
Sets the tag associated with this view. A tag can be used to mark a view in its hierarchy and does not have to be unique within the hierarchy. Tags can also be used to store data within a view without resorting to another data structure.
Parameters | |
---|---|
tag |
Object : an Object to tag the view with |
See also:
setTextAlignment
public void setTextAlignment (int textAlignment)
Set the text alignment.
Related XML Attributes:
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 .
Value is TEXT_ALIGNMENT_INHERIT , TEXT_ALIGNMENT_GRAVITY , TEXT_ALIGNMENT_CENTER , TEXT_ALIGNMENT_TEXT_START , TEXT_ALIGNMENT_TEXT_END , TEXT_ALIGNMENT_VIEW_START , or TEXT_ALIGNMENT_VIEW_END |
setTextDirection
public void setTextDirection (int textDirection)
Set the text direction.
Related XML Attributes:
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 . |
setTooltipText
public void setTooltipText (CharSequence tooltipText)
Sets the tooltip text which will be displayed in a small popup next to the view.
The tooltip will be displayed:
- On long click, unless it is handled otherwise (by OnLongClickListener or a context menu).
- On hover, after a brief delay since the pointer has stopped moving
Note: Do not override this method, as it will have no effect on the text displayed in the tooltip.
Related XML Attributes:
Parameters | |
---|---|
tooltipText |
CharSequence : the tooltip text, or null if no tooltip is required |
See also:
setTop
public final void setTop (int top)
Sets the top position of this view relative to its parent. This method is meant to be called by the layout system and should not generally be called otherwise, because the property may be changed at any time by the layout.
Parameters | |
---|---|
top |
int : The top of this view, in pixels. |
setTouchDelegate
public void setTouchDelegate (TouchDelegate delegate)
Sets the TouchDelegate for this View.
Parameters | |
---|---|
delegate |
TouchDelegate |
setTransitionAlpha
public void setTransitionAlpha (float alpha)
This property is intended only for use by the Fade transition, which animates it to produce a visual translucency that does not side-effect (or get affected by) the real alpha property. This value is composited with the other alpha value (and the AlphaAnimation value, when that is present) to produce a final visual translucency result, which is what is passed into the DisplayList.
Parameters | |
---|---|
alpha |
float |
setTransitionName
public final void setTransitionName (String transitionName)
Sets the name of the View to be used to identify Views in Transitions. Names should be unique in the View hierarchy.
Parameters | |
---|---|
transitionName |
String : The name of the View to uniquely identify it for Transitions. |
setTransitionVisibility
public void setTransitionVisibility (int visibility)
Changes the visibility of this View without triggering any other changes. This should only
be used by animation frameworks, such as Transition
, where
visibility changes should not adjust focus or trigger a new layout. Application developers
should use setVisibility(int)
instead to ensure that the hierarchy is correctly updated.
Only call this method when a temporary visibility must be applied during an
animation and the original visibility value is guaranteed to be reset after the
animation completes. Use setVisibility(int)
in all other cases.
Parameters | |
---|---|
visibility |
int : One of VISIBLE , INVISIBLE , or GONE .
Value is VISIBLE , INVISIBLE , or GONE |
See also:
setTranslationX
public void setTranslationX (float translationX)
Sets the horizontal location of this view relative to its left
position.
This effectively positions the object post-layout, in addition to wherever the object's
layout placed it.
Related XML Attributes:
Parameters | |
---|---|
translationX |
float : The horizontal position of this view relative to its left position,
in pixels. |
setTranslationY
public void setTranslationY (float translationY)
Sets the vertical location of this view relative to its top
position.
This effectively positions the object post-layout, in addition to wherever the object's
layout placed it.
Related XML Attributes:
Parameters | |
---|---|
translationY |
float : The vertical position of this view relative to its top position,
in pixels. |
setTranslationZ
public void setTranslationZ (float translationZ)
Sets the depth location of this view relative to its elevation
.
Related XML Attributes:
Parameters | |
---|---|
translationZ |
float |
setVerticalFadingEdgeEnabled
public void setVerticalFadingEdgeEnabled (boolean verticalFadingEdgeEnabled)
Define whether the vertical edges should be faded when this view is scrolled vertically.
Related XML Attributes:
Parameters | |
---|---|
verticalFadingEdgeEnabled |
boolean : true if the vertical edges should
be faded when the view is scrolled
vertically |
See also:
setVerticalScrollBarEnabled
public void setVerticalScrollBarEnabled (boolean verticalScrollBarEnabled)
Define whether the vertical scrollbar should be drawn or not. The scrollbar is not drawn by default.
Parameters | |
---|---|
verticalScrollBarEnabled |
boolean : true if the vertical scrollbar should
be painted |
See also:
setVerticalScrollbarPosition
public void setVerticalScrollbarPosition (int position)
Set the position of the vertical scroll bar. Should be one of
SCROLLBAR_POSITION_DEFAULT
, SCROLLBAR_POSITION_LEFT
or
SCROLLBAR_POSITION_RIGHT
.
Parameters | |
---|---|
position |
int : Where the vertical scroll bar should be positioned. |
setVerticalScrollbarThumbDrawable
public void setVerticalScrollbarThumbDrawable (Drawable drawable)
Defines the vertical scrollbar thumb drawable
Related XML Attributes:
Parameters | |
---|---|
drawable |
Drawable : This value may be null . |
setVerticalScrollbarTrackDrawable
public void setVerticalScrollbarTrackDrawable (Drawable drawable)
Defines the vertical scrollbar track drawable
Related XML Attributes:
Parameters | |
---|---|
drawable |
Drawable : This value may be null . |
setViewTranslationCallback
public void setViewTranslationCallback (ViewTranslationCallback callback)
Sets a ViewTranslationCallback
that is used to display/hide the translated
information. Developers can provide the customized implementation for show/hide translated
information.
Parameters | |
---|---|
callback |
ViewTranslationCallback : a ViewTranslationCallback that is used to control how to display the
translated information
This value cannot be null . |
setVisibility
public void setVisibility (int visibility)
Set the visibility state of this view.
Related XML Attributes:
Parameters | |
---|---|
visibility |
int : One of VISIBLE , INVISIBLE , or GONE .
Value is VISIBLE , INVISIBLE , or GONE |
setWillNotCacheDrawing
public void setWillNotCacheDrawing (boolean willNotCacheDrawing)
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
When a View's drawing cache is enabled, drawing is redirected to an offscreen bitmap. Some views, like an ImageView, must be able to bypass this mechanism if they already draw a single bitmap, to avoid unnecessary usage of the memory.
Parameters | |
---|---|
willNotCacheDrawing |
boolean : true if this view does not cache its
drawing, false otherwise |
setWillNotDraw
public void setWillNotDraw (boolean willNotDraw)
If this view doesn't do any drawing on its own, set this flag to
allow further optimizations. By default, this flag is not set on
View, but could be set on some View subclasses such as ViewGroup.
Typically, if you override onDraw(android.graphics.Canvas)
you should clear this flag.
Parameters | |
---|---|
willNotDraw |
boolean : whether or not this View draw on its own |
setWindowInsetsAnimationCallback
public void setWindowInsetsAnimationCallback (WindowInsetsAnimation.Callback callback)
Sets a WindowInsetsAnimation.Callback
to be notified about animations of windows that
cause insets.
The callback's dispatch mode
will affect whether animation callbacks are dispatched to the children of
this view.
Parameters | |
---|---|
callback |
WindowInsetsAnimation.Callback : The callback to set.
This value may be null . |
setX
public void setX (float x)
Sets the visual x position of this view, in pixels. This is equivalent to setting the
translationX
property to be the difference between
the x value passed in and the current left
property.
Parameters | |
---|---|
x |
float : The visual x position of this view, in pixels. |
setY
public void setY (float y)
Sets the visual y position of this view, in pixels. This is equivalent to setting the
translationY
property to be the difference between
the y value passed in and the current top
property.
Parameters | |
---|---|
y |
float : The visual y position of this view, in pixels. |
setZ
public void setZ (float z)
Sets the visual z position of this view, in pixels. This is equivalent to setting the
translationZ
property to be the difference between
the z value passed in and the current elevation
property.
Parameters | |
---|---|
z |
float : The visual z position of this view, in pixels. |
showContextMenu
public boolean showContextMenu ()
Shows the context menu for this view.
Returns | |
---|---|
boolean |
true if the context menu was shown, false
otherwise |
See also:
showContextMenu
public boolean showContextMenu (float x, float y)
Shows the context menu for this view anchored to the specified view-relative coordinate.
Parameters | |
---|---|
x |
float : the X coordinate in pixels relative to the view to which the
menu should be anchored, or Float#NaN to disable anchoring |
y |
float : the Y coordinate in pixels relative to the view to which the
menu should be anchored, or Float#NaN to disable anchoring |
Returns | |
---|---|
boolean |
true if the context menu was shown, false
otherwise |
startActionMode
public ActionMode startActionMode (ActionMode.Callback callback, int type)
Start an action mode with the given type.
Parameters | |
---|---|
callback |
ActionMode.Callback : Callback that will control the lifecycle of the action mode |
type |
int : One of ActionMode#TYPE_PRIMARY or ActionMode#TYPE_FLOATING . |
Returns | |
---|---|
ActionMode |
The new action mode if it is started, null otherwise |
See also:
startActionMode
public ActionMode startActionMode (ActionMode.Callback callback)
Start an action mode with the default type ActionMode#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 |
startAnimation
public void startAnimation (Animation animation)
Start the specified animation now.
Parameters | |
---|---|
animation |
Animation : the animation to start now |
startDrag
public final boolean startDrag (ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)
This method was deprecated
in API level 24.
Use startDragAndDrop()
for newer platform versions.
Parameters | |
---|---|
data |
ClipData |
shadowBuilder |
View.DragShadowBuilder |
myLocalState |
Object |
flags |
int |
Returns | |
---|---|
boolean |
startDragAndDrop
public final boolean startDragAndDrop (ClipData data, View.DragShadowBuilder shadowBuilder, Object myLocalState, int flags)
Starts a drag and drop operation. When your application calls this method, it passes a
View.DragShadowBuilder
object to the system. The
system calls this object's DragShadowBuilder#onProvideShadowMetrics(Point, Point)
to get metrics for the drag shadow, and then calls the object's
DragShadowBuilder#onDrawShadow(Canvas)
to draw the drag shadow itself.
Once the system has the drag shadow, it begins the drag and drop operation by sending
drag events to all the View objects in your application that are currently visible. It does
this either by calling the View object's drag listener (an implementation of
onDrag()
or by calling the
View object's onDragEvent()
method.
Both are passed a DragEvent
object that has a
DragEvent.getAction()
value of
DragEvent.ACTION_DRAG_STARTED
.
Your application can invoke startDragAndDrop()
on any attached View object. The View object does not need to be
the one used in View.DragShadowBuilder
, nor does it need to be related
to the View the user selected for dragging.
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. When dispatching drag events to views in the same activity this object
will be available through DragEvent.getLocalState() . Views in other
activities will not have access to this data (DragEvent.getLocalState()
will return null).
myLocalState is a lightweight mechanism for the sending information from the dragged View to the target Views. For example, it can contain flags that differentiate between a a copy operation and a move operation. |
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 because of another ongoing operation or some other reasons. |
startNestedScroll
public boolean startNestedScroll (int axes)
Begin a nestable scroll operation along the given axes.
A view starting a nested scroll promises to abide by the following contract:
The view will call startNestedScroll upon initiating a scroll operation. In the case
of a touch scroll this corresponds to the initial MotionEvent#ACTION_DOWN
.
In the case of touch scrolling the nested scroll will be terminated automatically in
the same manner as ViewParent#requestDisallowInterceptTouchEvent(boolean)
.
In the event of programmatic scrolling the caller must explicitly call
stopNestedScroll()
to indicate the end of the nested scroll.
If startNestedScroll
returns true, a cooperative parent was found.
If it returns false the caller may ignore the rest of this contract until the next scroll.
Calling startNestedScroll while a nested scroll is already in progress will return true.
At each incremental step of the scroll the caller should invoke
dispatchNestedPreScroll
once it has calculated the requested scrolling delta. If it returns true the nested scrolling
parent at least partially consumed the scroll and the caller should adjust the amount it
scrolls by.
After applying the remainder of the scroll delta the caller should invoke
dispatchNestedScroll
, passing
both the delta consumed and the delta unconsumed. A nested scrolling parent may treat
these values differently. See ViewParent#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. |
stopNestedScroll
public void stopNestedScroll ()
Stop a nested scroll in progress.
Calling this method when a nested scroll is not currently in progress is harmless.
See also:
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String |
a string representation of the object. |
transformMatrixToGlobal
public void transformMatrixToGlobal (Matrix matrix)
Modifies the input matrix such that it maps view-local coordinates to on-screen coordinates.
Parameters | |
---|---|
matrix |
Matrix : input matrix to modify
This value cannot be null . |
transformMatrixToLocal
public void transformMatrixToLocal (Matrix matrix)
Modifies the input matrix such that it maps on-screen coordinates to view-local coordinates.
Parameters | |
---|---|
matrix |
Matrix : input matrix to modify
This value cannot be null . |
unscheduleDrawable
public void unscheduleDrawable (Drawable who, Runnable what)
Cancels a scheduled action on a drawable.
Parameters | |
---|---|
who |
Drawable : the recipient of the action
This value cannot be null . |
what |
Runnable : the action to cancel
This value cannot be null . |
unscheduleDrawable
public void unscheduleDrawable (Drawable who)
Unschedule any events associated with the given Drawable. This can be used when selecting a new Drawable into a view, so that the previous one is completely unscheduled.
Parameters | |
---|---|
who |
Drawable : The Drawable to unschedule. |
See also:
updateDragShadow
public final void updateDragShadow (View.DragShadowBuilder shadowBuilder)
Updates the drag shadow for the ongoing drag and drop operation.
Parameters | |
---|---|
shadowBuilder |
View.DragShadowBuilder : A View.DragShadowBuilder object for building the
new drag shadow. |
willNotCacheDrawing
public boolean willNotCacheDrawing ()
This method was deprecated
in API level 28.
The view drawing cache was largely made obsolete with the introduction of
hardware-accelerated rendering in API 11. With hardware-acceleration, intermediate cache
layers are largely unnecessary and can easily result in a net loss in performance due to the
cost of creating and updating the layer. In the rare cases where caching layers are useful,
such as for alpha animations, setLayerType(int, android.graphics.Paint)
handles this with hardware
rendering. For software-rendered snapshots of a small part of the View hierarchy or
individual Views it is recommended to create a Canvas
from either a Bitmap
or
Picture
and call draw(android.graphics.Canvas)
on the View. However these
software-rendered usages are discouraged and have compatibility issues with hardware-only
rendering features such as Config.HARDWARE
bitmaps, real-time shadows, and outline clipping. For screenshots of the UI for feedback
reports or unit testing the PixelCopy
API is recommended.
Returns whether or not this View can cache its drawing or not.
Returns | |
---|---|
boolean |
true if this view does not cache its drawing, false otherwise |
willNotDraw
public boolean willNotDraw ()
Returns whether or not this View draws on its own.
Returns | |
---|---|
boolean |
true if this view has nothing to draw, false otherwise |
Protected methods
awakenScrollBars
protected boolean awakenScrollBars (int startDelay, boolean invalidate)
Trigger the scrollbars to draw. When invoked this method starts an animation to fade the scrollbars out after a fixed delay. If a subclass provides animated scrolling, the start delay should equal the duration of the scrolling animation.
The animation starts only if at least one of the scrollbars is enabled,
as specified by isHorizontalScrollBarEnabled()
and
isVerticalScrollBarEnabled()
. When the animation is started,
this method returns true, and false otherwise. If the animation is
started, this method calls invalidate()
if the invalidate parameter
is set to true; in that case the caller
should not call invalidate()
.
This method should be invoked every time a subclass directly updates the scroll parameters.
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 |
awakenScrollBars
protected boolean awakenScrollBars (int startDelay)
Trigger the scrollbars to draw. When invoked this method starts an animation to fade the scrollbars out after a fixed delay. If a subclass provides animated scrolling, the start delay should equal the duration of the scrolling animation.
The animation starts only if at least one of the scrollbars is enabled,
as specified by isHorizontalScrollBarEnabled()
and
isVerticalScrollBarEnabled()
. When the animation is started,
this method returns true, and false otherwise. If the animation is
started, this method calls invalidate()
; in that case the caller
should not call invalidate()
.
This method should be invoked every time a subclass directly updates the scroll parameters.
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 |
awakenScrollBars
protected boolean awakenScrollBars ()
Trigger the scrollbars to draw. When invoked this method starts an animation to fade the scrollbars out after a default delay. If a subclass provides animated scrolling, the start delay should equal the duration of the scrolling animation.
The animation starts only if at least one of the scrollbars is
enabled, as specified by isHorizontalScrollBarEnabled()
and
isVerticalScrollBarEnabled()
. When the animation is started,
this method returns true, and false otherwise. If the animation is
started, this method calls invalidate()
; in that case the
caller should not call invalidate()
.
This method should be invoked every time a subclass directly updates the scroll parameters.
This method is automatically invoked by scrollBy(int, int)
and scrollTo(int, int)
.
Returns | |
---|---|
boolean |
true if the animation is played, false otherwise |
computeHorizontalScrollExtent
protected int computeHorizontalScrollExtent ()
Compute the horizontal extent of the horizontal scrollbar's thumb within the horizontal range. This value is used to compute the length of the thumb within the scrollbar's track.
The range is expressed in arbitrary units that must be the same as the
units used by computeHorizontalScrollRange()
and
computeHorizontalScrollOffset()
.
The default extent is the drawing width of this view.
Returns | |
---|---|
int |
the horizontal extent of the scrollbar's thumb |
computeHorizontalScrollOffset
protected int computeHorizontalScrollOffset ()
Compute the horizontal offset of the horizontal scrollbar's thumb within the horizontal range. This value is used to compute the position of the thumb within the scrollbar's track.
The range is expressed in arbitrary units that must be the same as the
units used by computeHorizontalScrollRange()
and
computeHorizontalScrollExtent()
.
The default offset is the scroll offset of this view.
Returns | |
---|---|
int |
the horizontal offset of the scrollbar's thumb |
computeHorizontalScrollRange
protected int computeHorizontalScrollRange ()
Compute the horizontal range that the horizontal scrollbar represents.
The range is expressed in arbitrary units that must be the same as the
units used by computeHorizontalScrollExtent()
and
computeHorizontalScrollOffset()
.
The default range is the drawing width of this view.
Returns | |
---|---|
int |
the total horizontal range represented by the horizontal scrollbar |
computeVerticalScrollExtent
protected int computeVerticalScrollExtent ()
Compute the vertical extent of the vertical scrollbar's thumb within the vertical range. This value is used to compute the length of the thumb within the scrollbar's track.
The range is expressed in arbitrary units that must be the same as the
units used by computeVerticalScrollRange()
and
computeVerticalScrollOffset()
.
The default extent is the drawing height of this view.
Returns | |
---|---|
int |
the vertical extent of the scrollbar's thumb |
computeVerticalScrollOffset
protected int computeVerticalScrollOffset ()
Compute the vertical offset of the vertical scrollbar's thumb within the horizontal range. This value is used to compute the position of the thumb within the scrollbar's track.
The range is expressed in arbitrary units that must be the same as the
units used by computeVerticalScrollRange()
and
computeVerticalScrollExtent()
.
The default offset is the scroll offset of this view.
Returns | |
---|---|
int |
the vertical offset of the scrollbar's thumb |
computeVerticalScrollRange
protected int computeVerticalScrollRange ()
Compute the vertical range that the vertical scrollbar represents.
The range is expressed in arbitrary units that must be the same as the
units used by computeVerticalScrollExtent()
and
computeVerticalScrollOffset()
.
Returns | |
---|---|
int |
the total vertical range represented by the vertical scrollbar
The default range is the drawing height of this view. |
dispatchDraw
protected void dispatchDraw (Canvas canvas)
Called by draw to draw the child views. This may be overridden by derived classes to gain control just before its children are drawn (but after its own view has been drawn).
Parameters | |
---|---|
canvas |
Canvas : the canvas on which to draw the view
This value cannot be null . |
dispatchGenericFocusedEvent
protected boolean dispatchGenericFocusedEvent (MotionEvent event)
Dispatch a generic motion event to the currently focused view.
Do not call this method directly.
Call dispatchGenericMotionEvent(android.view.MotionEvent)
instead.
Parameters | |
---|---|
event |
MotionEvent : The motion event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
dispatchGenericPointerEvent
protected boolean dispatchGenericPointerEvent (MotionEvent event)
Dispatch a generic motion event to the view under the first pointer.
Do not call this method directly.
Call dispatchGenericMotionEvent(android.view.MotionEvent)
instead.
Parameters | |
---|---|
event |
MotionEvent : The motion event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
dispatchHoverEvent
protected boolean dispatchHoverEvent (MotionEvent event)
Dispatch a hover event.
Do not call this method directly.
Call dispatchGenericMotionEvent(android.view.MotionEvent)
instead.
Parameters | |
---|---|
event |
MotionEvent : The motion event to be dispatched. |
Returns | |
---|---|
boolean |
True if the event was handled by the view, false otherwise. |
dispatchRestoreInstanceState
protected void dispatchRestoreInstanceState (SparseArray<Parcelable> container)
Called by restoreHierarchyState(android.util.SparseArray)
to retrieve the
state for this view and its children. May be overridden to modify how restoring
happens to a view's children; for example, some views may want to not store state
for their children.
Parameters | |
---|---|
container |
SparseArray : The SparseArray which holds previously saved state. |
dispatchSaveInstanceState
protected void dispatchSaveInstanceState (SparseArray<Parcelable> container)
Called by saveHierarchyState(android.util.SparseArray)
to store the state for
this view and its children. May be overridden to modify how freezing happens to a
view's children; for example, some views may want to not store state for their children.
Parameters | |
---|---|
container |
SparseArray : The SparseArray in which to save the view's state. |
dispatchSetActivated
protected void dispatchSetActivated (boolean activated)
Dispatch setActivated to all of this View's children.
Parameters | |
---|---|
activated |
boolean : The new activated state |
See also:
dispatchSetPressed
protected void dispatchSetPressed (boolean pressed)
Dispatch setPressed to all of this View's children.
Parameters | |
---|---|
pressed |
boolean : The new pressed state |
See also:
dispatchSetSelected
protected void dispatchSetSelected (boolean selected)
Dispatch setSelected to all of this View's children.
Parameters | |
---|---|
selected |
boolean : The new selected state |
See also:
dispatchVisibilityChanged
protected void dispatchVisibilityChanged (View changedView, int visibility)
Dispatch a view visibility change down the view hierarchy. ViewGroups should override to route to their children.
Parameters | |
---|---|
changedView |
View : The view whose visibility changed. Could be 'this' or
an ancestor view.
This value cannot be null . |
visibility |
int : The new visibility of changedView: VISIBLE ,
INVISIBLE or GONE .
Value is VISIBLE , INVISIBLE , or GONE |
drawableStateChanged
protected void drawableStateChanged ()
This function is called whenever the state of the view changes in such a way that it impacts the state of drawables being shown.
If the View has a StateListAnimator, it will also be called to run necessary state change animations.
Be sure to call through to the superclass when overriding this function.
If you override this method you must call through to the
superclass implementation.
See also:
fitSystemWindows
protected boolean fitSystemWindows (Rect insets)
This method was deprecated
in API level 20.
As of API 20 use dispatchApplyWindowInsets(android.view.WindowInsets)
to apply
insets to views. Views should override onApplyWindowInsets(android.view.WindowInsets)
or use
setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener)
to implement handling their own insets.
Called by the view hierarchy when the content insets for a window have changed, to allow it to adjust its content to fit within those windows. The content insets tell you the space that the status bar, input method, and other system windows infringe on the application's window.
You do not normally need to deal with this function, since the default
window decoration given to applications takes care of applying it to the
content of the window. If you use SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
this will not be the case,
and your content can be placed under those system elements. You can then
use this method within your view hierarchy if you have parts of your UI
which you would like to ensure are not being covered.
The default implementation of this method simply applies the content
insets to the view's padding, consuming that content (modifying the
insets to be 0), and returning true. This behavior is off by default, but can
be enabled through setFitsSystemWindows(boolean)
.
This function's traversal down the hierarchy is depth-first. The same content insets object is propagated down the hierarchy, so any changes made to it will be seen by all following views (including potentially ones above in the hierarchy since this is a depth-first traversal). The first view that returns true will abort the entire traversal.
The default implementation works well for a situation where it is used with a container that covers the entire window, allowing it to apply the appropriate insets to its content on all edges. If you need a more complicated layout (such as two different views fitting system windows, one on the top of the window, and one on the bottom), you can override the method and handle the insets however you would like. Note that the insets provided by the framework are always relative to the far edges of the window, not accounting for the location of the called view within that window. (In fact when this method is called you do not yet know where the layout will place the view, as it is done before layout happens.)
Note: unlike many View methods, there is no dispatch phase to this call. If you are overriding it in a ViewGroup and want to allow the call to continue to your children, you must be sure to call the super implementation.
Here is a sample layout that makes use of fitting system windows
to have controls for a video view placed inside of the window decorations
that it hides and shows. This can be used with code like the second
sample (video player) shown in 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
Build.VERSION_CODES.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. |
getBottomFadingEdgeStrength
protected float getBottomFadingEdgeStrength ()
Returns the strength, or intensity, of the bottom faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.
Returns | |
---|---|
float |
the intensity of the bottom fade as a float between 0.0f and 1.0f |
getBottomPaddingOffset
protected int getBottomPaddingOffset ()
Amount by which to extend the bottom fading region. Called only when
isPaddingOffsetRequired()
returns true.
Returns | |
---|---|
int |
The bottom padding offset in pixels. |
See also:
getContextMenuInfo
protected ContextMenu.ContextMenuInfo getContextMenuInfo ()
Views should implement this if they have extra information to associate
with the context menu. The return result is supplied as a parameter to
the OnCreateContextMenuListener#onCreateContextMenu(ContextMenu, View, ContextMenuInfo)
callback.
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. |
getHorizontalScrollbarHeight
protected int getHorizontalScrollbarHeight ()
Returns the height of the horizontal scrollbar.
Returns | |
---|---|
int |
The height in pixels of the horizontal scrollbar or 0 if there is no horizontal scrollbar. |
getLeftFadingEdgeStrength
protected float getLeftFadingEdgeStrength ()
Returns the strength, or intensity, of the left faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.
Returns | |
---|---|
float |
the intensity of the left fade as a float between 0.0f and 1.0f |
getLeftPaddingOffset
protected int getLeftPaddingOffset ()
Amount by which to extend the left fading region. Called only when
isPaddingOffsetRequired()
returns true.
Returns | |
---|---|
int |
The left padding offset in pixels. |
See also:
getRightFadingEdgeStrength
protected float getRightFadingEdgeStrength ()
Returns the strength, or intensity, of the right faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.
Returns | |
---|---|
float |
the intensity of the right fade as a float between 0.0f and 1.0f |
getRightPaddingOffset
protected int getRightPaddingOffset ()
Amount by which to extend the right fading region. Called only when
isPaddingOffsetRequired()
returns true.
Returns | |
---|---|
int |
The right padding offset in pixels. |
See also:
getSuggestedMinimumHeight
protected int getSuggestedMinimumHeight ()
Returns the suggested minimum height that the view should use. This
returns the maximum of the view's minimum height
and the background's minimum height
(Drawable.getMinimumHeight()
).
When being used in onMeasure(int, int)
, the caller should still
ensure the returned height is within the requirements of the parent.
Returns | |
---|---|
int |
The suggested minimum height of the view. |
getSuggestedMinimumWidth
protected int getSuggestedMinimumWidth ()
Returns the suggested minimum width that the view should use. This
returns the maximum of the view's minimum width
and the background's minimum width
(Drawable.getMinimumWidth()
).
When being used in onMeasure(int, int)
, the caller should still
ensure the returned width is within the requirements of the parent.
Returns | |
---|---|
int |
The suggested minimum width of the view. |
getTopFadingEdgeStrength
protected float getTopFadingEdgeStrength ()
Returns the strength, or intensity, of the top faded edge. The strength is a value between 0.0 (no fade) and 1.0 (full fade). The default implementation returns 0.0 or 1.0 but no value in between. Subclasses should override this method to provide a smoother fade transition when scrolling occurs.
Returns | |
---|---|
float |
the intensity of the top fade as a float between 0.0f and 1.0f |
getTopPaddingOffset
protected int getTopPaddingOffset ()
Amount by which to extend the top fading region. Called only when
isPaddingOffsetRequired()
returns true.
Returns | |
---|---|
int |
The top padding offset in pixels. |
See also:
getWindowAttachCount
protected int getWindowAttachCount ()
Returns | |
---|---|
int |
The number of times this view has been attached to a window |
isPaddingOffsetRequired
protected boolean isPaddingOffsetRequired ()
If the View draws content inside its padding and enables fading edges, it needs to support padding offsets. Padding offsets are added to the fading edges to extend the length of the fade so that it covers pixels drawn inside the padding. Subclasses of this class should override this method if they need to draw content inside the padding.
Returns | |
---|---|
boolean |
True if padding offset must be applied, false otherwise. |
mergeDrawableStates
protected static int[] mergeDrawableStates (int[] baseState, int[] additionalState)
Merge your own state values in additionalState into the base
state values baseState that were returned by
onCreateDrawableState(int)
.
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. |
See also:
onAnimationEnd
protected void onAnimationEnd ()
Invoked by a parent ViewGroup to notify the end of the animation
currently associated with this view. If you override this method,
always call super.onAnimationEnd();
If you override this method you must call through to the
superclass implementation.
onAnimationStart
protected void onAnimationStart ()
Invoked by a parent ViewGroup to notify the start of the animation
currently associated with this view. If you override this method,
always call super.onAnimationStart();
If you override this method you must call through to the
superclass implementation.
onAttachedToWindow
protected void onAttachedToWindow ()
This is called when the view is attached to a window. At this point it
has a Surface and will start drawing. Note that this function is
guaranteed to be called before onDraw(android.graphics.Canvas)
,
however it may be called any time before the first onDraw -- including
before or after onMeasure(int, int)
.
If you override this method you must call through to the
superclass implementation.
See also:
onConfigurationChanged
protected void onConfigurationChanged (Configuration newConfig)
Called when the current configuration of the resources being used
by the application have changed. You can use this to decide when
to reload resources that can changed based on orientation and other
configuration characteristics. You only need to use this if you are
not relying on the normal Activity
mechanism of
recreating the activity instance upon a configuration change.
Parameters | |
---|---|
newConfig |
Configuration : The new resource configuration. |
onCreateContextMenu
protected void onCreateContextMenu (ContextMenu menu)
Views should implement this if the view itself is going to add items to the context menu.
Parameters | |
---|---|
menu |
ContextMenu : the context menu to populate |
onCreateDrawableState
protected int[] onCreateDrawableState (int extraSpace)
Generate the new Drawable
state for
this view. This is called by the view
system when the cached Drawable state is determined to be invalid. To
retrieve the current state, you should use 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. |
See also:
onDetachedFromWindow
protected void onDetachedFromWindow ()
This is called when the view is detached from a window. At this point it
no longer has a surface for drawing.
If you override this method you must call through to the
superclass implementation.
See also:
onDisplayHint
protected void onDisplayHint (int hint)
Gives this view a hint about whether is displayed or not. For instance, when a View moves out of the screen, it might receives a display hint indicating the view is not displayed. Applications should not rely on this hint as there is no guarantee that they will receive one.
Parameters | |
---|---|
hint |
int : A hint about whether or not this view is displayed:
VISIBLE or INVISIBLE .
Value is VISIBLE , INVISIBLE , or GONE |
onDraw
protected void onDraw (Canvas canvas)
Implement this to do your drawing.
Parameters | |
---|---|
canvas |
Canvas : the canvas on which the background will be drawn
This value cannot be null . |
onDrawScrollBars
protected final void onDrawScrollBars (Canvas canvas)
Request the drawing of the horizontal and the vertical scrollbar. The scrollbars are painted only if they have been awakened first.
Parameters | |
---|---|
canvas |
Canvas : the canvas on which to draw the scrollbars
This value cannot be null . |
See also:
onFinishInflate
protected void onFinishInflate ()
Finalize inflating a view from XML. This is called as the last phase of inflation, after all child views have been added.
Even if the subclass overrides onFinishInflate, they should always be
sure to call the super method, so that we get called.
If you override this method you must call through to the
superclass implementation.
onFocusChanged
protected void onFocusChanged (boolean gainFocus, int direction, Rect previouslyFocusedRect)
Called by the view system when the focus state of this view changes.
When the focus change event is caused by directional navigation, direction
and previouslyFocusedRect provide insight into where the focus is coming from.
When overriding, be sure to call up through to the super class so that
the standard focus handling will occur.
If you override this method you must call through to the
superclass implementation.
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.
Value is FOCUS_BACKWARD , FOCUS_FORWARD , FOCUS_LEFT , FOCUS_UP , FOCUS_RIGHT , or FOCUS_DOWN |
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. |
onLayout
protected void onLayout (boolean changed, int left, int top, int right, int bottom)
Called from layout when this view should assign a size and position to each of its children. Derived classes with children should override this method and call layout on each of their children.
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 |
onMeasure
protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
Measure the view and its content to determine the measured width and the
measured height. This method is invoked by measure(int, int)
and
should be overridden by subclasses to provide accurate and efficient
measurement of their contents.
CONTRACT: When overriding this method, you
must call setMeasuredDimension(int, int)
to store the
measured width and height of this view. Failure to do so will trigger an
IllegalStateException
, thrown by
measure(int, int)
. Calling the superclass'
onMeasure(int, int)
is a valid use.
The base class implementation of measure defaults to the background size,
unless a larger size is allowed by the MeasureSpec. Subclasses should
override onMeasure(int, int)
to provide better measurements of
their content.
If this method is overridden, it is the subclass's responsibility to make
sure the measured height and width are at least the view's minimum height
and width (getSuggestedMinimumHeight()
and
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 . |
onOverScrolled
protected void onOverScrolled (int scrollX, int scrollY, boolean clampedX, boolean clampedY)
Called by overScrollBy(int, int, int, int, int, int, int, int, boolean)
to
respond to the results of an over-scroll operation.
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 |
onRestoreInstanceState
protected void onRestoreInstanceState (Parcelable state)
Hook allowing a view to re-apply a representation of its internal state that had previously
been generated by onSaveInstanceState()
. This function will never be called with a
null state.
If you override this method you must call through to the
superclass implementation.
Parameters | |
---|---|
state |
Parcelable : The frozen state that had previously been returned by
onSaveInstanceState() . |
onSaveInstanceState
protected Parcelable onSaveInstanceState ()
Hook allowing a view to generate a representation of its internal state that can later be used to create a new instance with that same state. This state should only contain information that is not persistent or can not be reconstructed later. For example, you will never store your current position on screen because that will be computed again when a new instance of the view is placed in its view hierarchy.
Some examples of things you may store here: the current cursor position
in a text view (but usually not the text itself since that is stored in a
content provider or other persistent storage), the currently selected
item in a list view.
If you override this method you must call through to the
superclass implementation.
Returns | |
---|---|
Parcelable |
Returns a Parcelable object containing the view's current dynamic state, or null if there is nothing interesting to save. |
onScrollChanged
protected void onScrollChanged (int l, int t, int oldl, int oldt)
This is called in response to an internal scroll in this view (i.e., the
view scrolled its own contents). This is typically as a result of
scrollBy(int, int)
or scrollTo(int, int)
having been
called.
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. |
onSetAlpha
protected boolean onSetAlpha (int alpha)
Invoked if there is a Transform that involves alpha. Subclass that can draw themselves with the specified alpha should return true, and then respect that alpha when their onDraw() is called. If this returns false then the view may be redirected to draw into an offscreen buffer to fulfill the request, which will look fine, but may be slower than if the subclass handles it internally. The default implementation returns 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. |
onSizeChanged
protected void onSizeChanged (int w, int h, int oldw, int oldh)
This is called during layout when the size of this view has changed. If you were just added to the view hierarchy, you're called with the old values of 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. |
onVisibilityChanged
protected void onVisibilityChanged (View changedView, int visibility)
Called when the visibility of the view or an ancestor of the view has changed.
Parameters | |
---|---|
changedView |
View : The view whose visibility changed. May be
this or an ancestor view.
This value cannot be null . |
visibility |
int : The new visibility, one of VISIBLE ,
INVISIBLE or GONE .
Value is VISIBLE , INVISIBLE , or GONE |
onWindowVisibilityChanged
protected void onWindowVisibilityChanged (int visibility)
Called when the window containing has change its visibility
(between GONE
, INVISIBLE
, and VISIBLE
). Note
that this tells you whether or not your window is being made visible
to the window manager; this does not tell you whether or not
your window is obscured by other windows on the screen, even if it
is itself visible.
Parameters | |
---|---|
visibility |
int : The new visibility of the window.
Value is VISIBLE , INVISIBLE , or GONE |
overScrollBy
protected boolean overScrollBy (int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)
Scroll the view with standard behavior for scrolling beyond the normal
content boundaries. Views that call this method should override
onOverScrolled(int, int, boolean, boolean)
to respond to the
results of an over-scroll operation.
Views can use this method to handle any touch or fling-based scrolling.
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. |
setMeasuredDimension
protected final void setMeasuredDimension (int measuredWidth, int measuredHeight)
This method must be called by onMeasure(int, int)
to store the
measured width and measured height. Failing to do so will trigger an
exception at measurement time.
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 . |
verifyDrawable
protected boolean verifyDrawable (Drawable who)
If your view subclass is displaying its own Drawable objects, it should override this function and return true for any Drawable it is displaying. This allows animations for those drawables to be scheduled.
Be sure to call through to the super class when overriding this
function.
If you override this method you must call through to the
superclass implementation.
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.
This value cannot be null . |
Returns | |
---|---|
boolean |
boolean If true then the Drawable is being displayed in the view; else false and it is not allowed to animate. |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-07-18 UTC.