to top
Android APIs
public class

ViewCompat

extends Object
java.lang.Object
   ↳ android.support.v4.view.ViewCompat

Class Overview

Helper for accessing features in View introduced after API level 4 in a backwards compatible fashion.

Summary

Constants
int ACCESSIBILITY_LIVE_REGION_ASSERTIVE Live region mode specifying that accessibility services should interrupt ongoing speech to immediately announce 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 announce changes to this view.
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 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 MEASURED_STATE_MASK to get to the height bits for functions that combine both width and height into a single int, such as getMeasuredState(View) and the childState argument of resolveSizeAndState(int, int, int).
int MEASURED_SIZE_MASK Bits of getMeasuredWidthAndState(View) and getMeasuredWidthAndState(View) that provide the actual measured size.
int MEASURED_STATE_MASK Bits of getMeasuredWidthAndState(View) and getMeasuredWidthAndState(View) that provide the additional state bits.
int MEASURED_STATE_TOO_SMALL Bit of getMeasuredWidthAndState(View) and getMeasuredWidthAndState(View) that indicates the measured size is smaller that the space the view would like to have.
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
ViewCompat()
Public Methods
static boolean canScrollHorizontally(View v, int direction)
Check if this view can be scrolled horizontally in a certain direction.
static boolean canScrollVertically(View v, int direction)
Check if this view can be scrolled vertically in a certain direction.
int getAccessibilityLiveRegion(View view)
Gets the live region mode for the specified View.
static AccessibilityNodeProviderCompat getAccessibilityNodeProvider(View view)
Gets the provider for managing a virtual view hierarchy rooted at this View and reported to AccessibilityServices that explore the window content.
static float getAlpha(View view)
The opacity of the view.
static int getImportantForAccessibility(View view)
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.
static int getLabelFor(View view)
Gets the id of a view for which a given view serves as a label for accessibility purposes.
static int getLayerType(View view)
Indicates what type of layer is currently associated with this view.
static int getLayoutDirection(View view)
Returns the resolved layout direction for this view.
static int getMeasuredHeightAndState(View view)
Return the full height measurement information for this view as computed by the most recent call to measure(int, int).
static int getMeasuredState(View view)
Return only the state bits of getMeasuredWidthAndState(View) and getMeasuredHeightAndState(View), combined into one integer.
static int getMeasuredWidthAndState(View view)
Return the full width measurement information for this view as computed by the most recent call to measure(int, int).
static int getOverScrollMode(View v)
Returns the over-scroll mode for this view.
static ViewParent getParentForAccessibility(View view)
Gets the parent for accessibility purposes.
static boolean hasTransientState(View 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.
static boolean isOpaque(View view)
Indicates whether this View is opaque.
static void onInitializeAccessibilityEvent(View v, AccessibilityEvent event)
Initializes an AccessibilityEvent with information about this View which is the event source.
static void onInitializeAccessibilityNodeInfo(View v, AccessibilityNodeInfoCompat info)
Initializes an AccessibilityNodeInfo with information about this view.
static void onPopulateAccessibilityEvent(View v, AccessibilityEvent event)
Called from dispatchPopulateAccessibilityEvent(AccessibilityEvent) giving a chance to this View to populate the accessibility event with its text content.
static boolean performAccessibilityAction(View view, int action, Bundle arguments)
Performs the specified accessibility action on the view.
static void postInvalidateOnAnimation(View view)

Cause an invalidate to happen on the next animation time step, typically the next display frame.

static void postInvalidateOnAnimation(View view, 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.

static void postOnAnimation(View view, Runnable action)

Causes the Runnable to execute on the next animation time step.

static void postOnAnimationDelayed(View view, Runnable action, long delayMillis)

Causes the Runnable to execute on the next animation time step, after the specified amount of time elapses.

static int resolveSizeAndState(int size, int measureSpec, int childMeasuredState)
Utility to reconcile a desired size and state, with constraints imposed by a MeasureSpec.
static void setAccessibilityDelegate(View v, AccessibilityDelegateCompat delegate)
Sets a delegate for implementing accessibility support via compositon as opposed to inheritance.
void setAccessibilityLiveRegion(View view, int mode)
Sets the live region mode for the specified view.
static void setHasTransientState(View view, boolean hasTransientState)
Set whether this view is currently tracking transient state that the framework should attempt to preserve when possible.
static void setImportantForAccessibility(View view, 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.
static void setLabelFor(View view, int labeledId)
Sets the id of a view for which a given view serves as a label for accessibility purposes.
static void setLayerPaint(View view, 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).
static void setLayerType(View view, int layerType, Paint paint)

Specifies the type of layer backing this view.

static void setLayoutDirection(View view, int layoutDirection)
Set the layout direction for this view.
static void setOverScrollMode(View v, int overScrollMode)
Set the over-scroll mode for this view.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE

Live region mode specifying that accessibility services should interrupt ongoing speech to immediately announce changes to this view.

Use with setAccessibilityLiveRegion(View, int).

Constant Value: 2 (0x00000002)

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(View, int).

Constant Value: 0 (0x00000000)

public static final int ACCESSIBILITY_LIVE_REGION_POLITE

Live region mode specifying that accessibility services should announce changes to this view.

Use with setAccessibilityLiveRegion(View, int).

Constant Value: 1 (0x00000001)

public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO

Automatically determine whether a view is important for accessibility.

Constant Value: 0 (0x00000000)

public static final int IMPORTANT_FOR_ACCESSIBILITY_NO

The view is not important for accessibility.

Constant Value: 2 (0x00000002)

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)

public static final int IMPORTANT_FOR_ACCESSIBILITY_YES

The view is important for accessibility.

Constant Value: 1 (0x00000001)

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)

public static final int LAYER_TYPE_NONE

Indicates that the view does not have a layer.

Constant Value: 0 (0x00000000)

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)

public static final int LAYOUT_DIRECTION_INHERIT

Horizontal layout direction of this view is inherited from its parent. Use with setLayoutDirection(View, int).

Constant Value: 2 (0x00000002)

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(View, int).

Constant Value: 3 (0x00000003)

public static final int LAYOUT_DIRECTION_LTR

Horizontal layout direction of this view is from Left to Right.

Constant Value: 0 (0x00000000)

public static final int LAYOUT_DIRECTION_RTL

Horizontal layout direction of this view is from Right to Left.

Constant Value: 1 (0x00000001)

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(View) and the childState argument of resolveSizeAndState(int, int, int).

Constant Value: 16 (0x00000010)

public static final int MEASURED_SIZE_MASK

Bits of getMeasuredWidthAndState(View) and getMeasuredWidthAndState(View) that provide the actual measured size.

Constant Value: 16777215 (0x00ffffff)

public static final int MEASURED_STATE_MASK

Bits of getMeasuredWidthAndState(View) and getMeasuredWidthAndState(View) that provide the additional state bits.

Constant Value: -16777216 (0xff000000)

public static final int MEASURED_STATE_TOO_SMALL

Bit of getMeasuredWidthAndState(View) and getMeasuredWidthAndState(View) that indicates the measured size is smaller that the space the view would like to have.

Constant Value: 16777216 (0x01000000)

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)

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)

public static final int OVER_SCROLL_NEVER

Never allow a user to over-scroll this view.

Constant Value: 2 (0x00000002)

Public Constructors

public ViewCompat ()

Public Methods

public static boolean canScrollHorizontally (View v, int direction)

Check if this view can be scrolled horizontally in a certain direction.

Parameters
v The View against which to invoke the method.
direction Negative to check scrolling left, positive to check scrolling right.
Returns
  • true if this view can be scrolled in the specified direction, false otherwise.

public static boolean canScrollVertically (View v, int direction)

Check if this view can be scrolled vertically in a certain direction.

Parameters
v The View against which to invoke the method.
direction Negative to check scrolling up, positive to check scrolling down.
Returns
  • true if this view can be scrolled in the specified direction, false otherwise.

public int getAccessibilityLiveRegion (View view)

Gets the live region mode for the specified View.

Parameters
view The view from which to obtain the live region mode
Returns
  • The live region mode for the view.

public static AccessibilityNodeProviderCompat getAccessibilityNodeProvider (View view)

Gets the provider for managing a virtual view hierarchy rooted at this View and reported to AccessibilityServices that explore the window content.

If this method returns an instance, this instance is responsible for managing AccessibilityNodeInfoCompats 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 setAccessibilityDelegate(View, AccessibilityDelegateCompat) its getAccessibilityNodeProvider(View) is responsible for handling this call.

Parameters
view The view whose property to get.
Returns
  • The provider.

public static float getAlpha (View view)

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. Prior to API 11, the returned value is always 1.0f.

Returns
  • The opacity of the view.

public static int getImportantForAccessibility (View view)

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.

Parameters
view The view whose property to get.
Returns
  • The mode for determining whether a View is important for accessibility.

public static int getLabelFor (View view)

Gets the id of a view for which a given view serves as a label for accessibility purposes.

Parameters
view The view on which to invoke the corresponding method.
Returns
  • The labeled view id.

public static int getLayerType (View view)

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.

Parameters
view The view to fetch the layer type from

public static int getLayoutDirection (View view)

Returns the resolved layout direction for this view.

Parameters
view View to get layout direction for
Returns

public static int getMeasuredHeightAndState (View view)

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 wide a view is after layout.

Returns
  • The measured width of this view as a bit mask.

public static int getMeasuredState (View view)

Return only the state bits of getMeasuredWidthAndState(View) and getMeasuredHeightAndState(View), 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.

public static int getMeasuredWidthAndState (View view)

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
  • The measured width of this view as a bit mask.

public static int getOverScrollMode (View v)

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.

Parameters
v The View against which to invoke the method.
Returns
  • This view's over-scroll mode.

public static ViewParent getParentForAccessibility (View view)

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.

Parameters
view View to retrieve parent for
Returns
  • The parent for use in accessibility inspection

public static boolean hasTransientState (View 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.

Parameters
view View to check for transient state
Returns
  • true if the view has transient state

public static boolean isOpaque (View view)

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. On API 7 and above this will call View's true isOpaque method. On previous platform versions it will check the opacity of the view's background drawable if present.

Returns
  • True if this View is guaranteed to be fully opaque, false otherwise.

public static void onInitializeAccessibilityEvent (View v, 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 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.

Parameters
v The View against which to invoke the method.
event The event to initialize.

public static void onInitializeAccessibilityNodeInfo (View v, AccessibilityNodeInfoCompat info)

Parameters
v The View against which to invoke the method.
info The instance to initialize.

public static void onPopulateAccessibilityEvent (View v, AccessibilityEvent event)

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.

Parameters
v The View against which to invoke the method.
event The accessibility event which to populate.

public static boolean performAccessibilityAction (View view, int action, Bundle arguments)

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.

Parameters
action The action to perform.
arguments Optional action arguments.
Returns
  • Whether the action was performed.

public static void postInvalidateOnAnimation (View view)

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.

Parameters
view View to invalidate

public static void postInvalidateOnAnimation (View view, 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
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.

public static void postOnAnimation (View view, Runnable action)

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.

Parameters
view View to post this Runnable to
action The Runnable that will be executed.

public static void postOnAnimationDelayed (View view, 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.

This method can be invoked from outside of the UI thread only when this View is attached to a window.

Parameters
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.

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 How big the view wants to be
measureSpec Constraints imposed by the parent
Returns

public static void setAccessibilityDelegate (View v, AccessibilityDelegateCompat delegate)

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.

Parameters
v The View against which to invoke the method.
delegate The delegate instance.

public void setAccessibilityLiveRegion (View view, int mode)

Sets the live region mode for the specified 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).

For example, in a login screen with a TextView that displays an "incorrect password" notification, that view should be marked as a live region with mode ACCESSIBILITY_LIVE_REGION_POLITE.

To disable change notifications for this view, use ACCESSIBILITY_LIVE_REGION_NONE. This is the default live region mode for most views.

To indicate that the user should be notified of changes, use ACCESSIBILITY_LIVE_REGION_POLITE.

If the view's changes should interrupt ongoing speech and notify the user immediately, use ACCESSIBILITY_LIVE_REGION_ASSERTIVE.

Parameters
view The view on which to set the live region mode
mode The live region mode for this view, one of:

public static void setHasTransientState (View view, boolean hasTransientState)

Set whether this view is currently tracking transient state that the framework should attempt to preserve when possible.

Parameters
view View tracking transient state
hasTransientState true if this view has transient state

public static void setImportantForAccessibility (View view, 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.

Parameters
view The view whose property to set.
mode How to determine whether this view is important for accessibility.

public static void setLabelFor (View view, int labeledId)

Sets the id of a view for which a given view serves as a label for accessibility purposes.

Parameters
view The view on which to invoke the corresponding method.
labeledId The labeled view id.

public static void setLayerPaint (View view, 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(android.view.View, int, android.graphics.Paint) will be used the next time the View is redrawn, but setLayerPaint(android.view.View, 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 View#setAlpha(float), the alpha value of the layer's paint is replaced by this view's alpha value. Calling View#setAlpha(float) is therefore equivalent to setting a hardware layer on this view and providing a paint with the desired alpha value.

Parameters
view View to set a layer paint for
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

public static void setLayerType (View view, int layerType, Paint paint)

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.

Parameters
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

public static void setLayoutDirection (View view, 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.

Parameters
view View to set layout direction for
layoutDirection 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.

public static void setOverScrollMode (View v, int overScrollMode)

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.

Parameters
v The View against which to invoke the method.
overScrollMode The new over-scroll mode for this view.