java.lang.Object | |
↳ | android.support.v4.view.ViewCompat |
Helper for accessing features in View
introduced after API
level 4 in a backwards compatible fashion.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
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_YES | The view is important for accessibility. | |||||||||
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 | 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. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Check if this view can be scrolled horizontally in a certain direction.
| |||||||||||
Check if this view can be scrolled vertically in a certain direction.
| |||||||||||
Gets the provider for managing a virtual view hierarchy rooted at this View
and reported to
AccessibilityService s
that explore the window content. | |||||||||||
Gets the mode for determining 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.
| |||||||||||
Gets the id of a view for which a given view serves as a label for
accessibility purposes.
| |||||||||||
Indicates what type of layer is currently associated with this view.
| |||||||||||
Returns the over-scroll mode for this view.
| |||||||||||
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.
| |||||||||||
Initializes an
AccessibilityEvent with information about
this View which is the event source. | |||||||||||
Initializes an
AccessibilityNodeInfo with information
about this view. | |||||||||||
Called from
dispatchPopulateAccessibilityEvent(AccessibilityEvent)
giving a chance to this View to populate the accessibility event with its
text content. | |||||||||||
Performs the specified accessibility action on the view.
| |||||||||||
Cause an invalidate to happen on the next animation time step, typically the next display frame. | |||||||||||
Cause an invalidate of the specified area to happen on the next animation time step, typically the next display frame. | |||||||||||
Causes the Runnable to execute on the next animation time step. | |||||||||||
Causes the Runnable to execute on the next animation time step, after the specified amount of time elapses. | |||||||||||
Sets a delegate for implementing accessibility support via compositon as
opposed to inheritance.
| |||||||||||
Set whether this view is currently tracking transient state that the
framework should attempt to preserve when possible.
| |||||||||||
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.
| |||||||||||
Sets the id of a view for which a given view serves as a label for
accessibility purposes.
| |||||||||||
Specifies the type of layer backing this view. | |||||||||||
Set the over-scroll mode for this view.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Automatically determine whether a view is important for accessibility.
The view is not important for accessibility.
The view is important for accessibility.
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.
Indicates that the view does not have a layer.
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.)
Always allow a user to over-scroll this view, provided it is a view that can scroll.
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.
Never allow a user to over-scroll this view.
Check if this view can be scrolled horizontally in a certain direction.
v | The View against which to invoke the method. |
---|---|
direction | Negative to check scrolling left, positive to check scrolling right. |
Check if this view can be scrolled vertically in a certain direction.
v | The View against which to invoke the method. |
---|---|
direction | Negative to check scrolling up, positive to check scrolling down. |
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
AccessibilityNodeInfoCompat
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 AccessibilityDelegateCompat
has been specified via calling
its
{@link AccessibilityDelegateCompat#getAccessibilityNodeProvider(View)
is responsible for handling this call.
view | The view whose property to get. |
---|
Gets the mode for determining 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.
view | The view whose property to get. |
---|
Gets the id of a view for which a given view serves as a label for accessibility purposes.
view | The view on which to invoke the corresponding method. |
---|
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(android.view.View, int, android.graphics.Paint)
for more information on the different types of layers.
view | The view to fetch the layer type from |
---|
Returns the over-scroll mode for this view. The result will be
one of OVER_SCROLL_ALWAYS
(default), OVER_SCROLL_IF_CONTENT_SCROLLS
(allow over-scrolling only if the view content is larger than the container),
or OVER_SCROLL_NEVER
.
v | The View against which to invoke the method. |
---|
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.
view | View to check for transient state |
---|
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 View.AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
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.
v | The View against which to invoke the method. |
---|---|
event | The event to initialize. |
Initializes an AccessibilityNodeInfo
with information
about this view. The base implementation sets:
setParent(View)
,setBoundsInParent(Rect)
,setBoundsInScreen(Rect)
,setPackageName(CharSequence)
,setClassName(CharSequence)
,setContentDescription(CharSequence)
,setEnabled(boolean)
,setClickable(boolean)
,setFocusable(boolean)
,setFocused(boolean)
,setLongClickable(boolean)
,setSelected(boolean)
,Subclasses should override this method, call the super implementation, and set additional attributes.
If an View.AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
onInitializeAccessibilityNodeInfo(View, android.view.accessibility.AccessibilityNodeInfo)
is responsible for handling this call.
v | The View against which to invoke the method. |
---|---|
info | The instance to initialize. |
Called from dispatchPopulateAccessibilityEvent(AccessibilityEvent)
giving a chance to this View to populate the accessibility event with its
text content. While this method is free to modify event
attributes other than text content, doing so should normally be performed in
onInitializeAccessibilityEvent(AccessibilityEvent)
.
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 View.AccessibilityDelegate
has been specified via calling
setAccessibilityDelegate(android.view.View.AccessibilityDelegate)
its
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.
v | The View against which to invoke the method. |
---|---|
event | The accessibility event which to populate. |
Performs the specified accessibility action on the view. For
possible accessibility actions look at AccessibilityNodeInfoCompat
.
If an AccessibilityDelegateCompat
has been specified via calling
setAccessibilityDelegate(View, AccessibilityDelegateCompat)
its
performAccessibilityAction(View, int, Bundle)
is responsible for handling this call.
action | The action to perform. |
---|---|
arguments | Optional action arguments. |
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.
view | View to invalidate |
---|
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.
view | View to invalidate |
---|---|
left | The left coordinate of the rectangle to invalidate. |
top | The top coordinate of the rectangle to invalidate. |
right | The right coordinate of the rectangle to invalidate. |
bottom | The bottom coordinate of the rectangle to invalidate. |
Causes the Runnable to execute on the next animation time step. The runnable will be run on the user interface thread.
This method can be invoked from outside of the UI thread only when this View is attached to a window.
view | View to post this Runnable to |
---|---|
action | The Runnable that will be executed. |
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.
This method can be invoked from outside of the UI thread only when this View is attached to a window.
view | The view to post this Runnable to |
---|---|
action | The Runnable that will be executed. |
delayMillis | The delay (in milliseconds) until the Runnable will be executed. |
Sets a delegate for implementing accessibility support via compositon as
opposed to inheritance. The delegate's primary use is for implementing
backwards compatible widgets. For more details see
View.AccessibilityDelegate
.
v | The View against which to invoke the method. |
---|---|
delegate | The delegate instance. |
Set whether this view is currently tracking transient state that the framework should attempt to preserve when possible.
view | View tracking transient state |
---|---|
hasTransientState | true if this view has transient state |
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.
view | The view whose property to set. |
---|---|
mode | How to determine whether this view is important for accessibility. |
Sets the id of a view for which a given view serves as a label for accessibility purposes.
view | The view on which to invoke the corresponding method. |
---|---|
labeledId | The labeled view id. |
Specifies the type of layer backing this view. The layer can be
disabled
, software
or
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 replaced by this view's alpha value. Calling setAlpha(float) is therefore equivalent to setting a hardware layer on this view and providing a paint with the desired alpha value.
Refer to the documentation of disabled
,
software
and hardware
for more information on when and how to use layers.
view | View to set the layer type for |
---|---|
layerType | The type of layer to use with this view, must be one of
LAYER_TYPE_NONE , LAYER_TYPE_SOFTWARE or
LAYER_TYPE_HARDWARE |
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
|
Set the over-scroll mode for this view. Valid over-scroll modes are
OVER_SCROLL_ALWAYS
(default), 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.
v | The View against which to invoke the method. |
---|---|
overScrollMode | The new over-scroll mode for this view. |