ViewGroup


public abstract class ViewGroup
extends View implements ViewManager, ViewParent

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
AbsoluteLayout This class was deprecated in API level 3. Use FrameLayout, RelativeLayout or a custom layout instead. 
AdapterView<T extends Adapter> An AdapterView is a view whose children are determined by an Adapter
FragmentBreadCrumbs This class was deprecated in API level 21. This widget is no longer supported. 
FrameLayout FrameLayout is designed to block out an area on the screen to display a single item. 
GridLayout A layout that places its children in a rectangular grid
InlineContentView This class represents a view that holds opaque content from another app that you can inline in your UI. 
LinearLayout A layout that arranges other views either horizontally in a single column or vertically in a single row. 
RelativeLayout A Layout where the positions of the children can be described in relation to each other or to the parent. 
SlidingDrawer This class was deprecated in API level 17. This class is not supported anymore. It is recommended you base your own implementation on the source code for the Android Open Source Project if you must use it in your application. 
Toolbar A standard toolbar for use within application content. 
TvAdView Displays contents of TV advertisement services. 
TvInteractiveAppView Displays contents of interactive TV applications. 
TvView Displays TV contents. 
AbsListView Base class that can be used to implement virtualized lists of items. 
AbsSpinner An abstract base class for spinner widgets. 
ActionMenuView ActionMenuView is a presentation of a series of menu options as a View. 
AdapterViewAnimator Base class for a AdapterView that will perform animations when switching between its views. 
AdapterViewFlipper Simple ViewAnimator that will animate between two or more views that have been added to it. 
AppWidgetHostView Provides the glue to show AppWidget views. 
CalendarView This class is a calendar widget for displaying and selecting dates. 
DatePicker Provides a widget for selecting a date. 
DialerFilter This class was deprecated in API level 26. Use a custom view or layout to handle this functionality instead 
ExpandableListView A view that shows items in a vertically scrolling two-level list. 
Gallery This class was deprecated in API level 16. This widget is no longer supported. Other horizontally scrolling widgets include HorizontalScrollView and ViewPager from the support library. 
GestureOverlayView A transparent overlay for gesture input that can be placed on top of other widgets or contain other widgets. 
GridView A view that shows items in two-dimensional scrolling grid. 
HorizontalScrollView Layout container for a view hierarchy that can be scrolled by the user, allowing it to be larger than the physical display. 
ImageSwitcher ViewSwitcher that switches between two ImageViews when a new image is set on it. 
ListView

Displays a vertically-scrollable collection of views, where each view is positioned immediatelybelow the previous view in the list. 

MediaController A view containing controls for a MediaPlayer. 
NumberPicker A widget that enables the user to select a number from a predefined range. 
RadioGroup

This class is used to create a multiple-exclusion scope for a set of radio buttons. 

ScrollView A view group that allows the view hierarchy placed within it to be scrolled. 
SearchView A widget that provides a user interface for the user to enter a search query and submit a request to a search provider. 
Spinner A view that displays one child at a time and lets the user pick among them. 
SplashScreenView

The view which allows an activity to customize its splash screen exit animation. 

StackView  
TabHost This class was deprecated in API level 30. new applications should use fragment APIs instead of this class: Use TabLayout and ViewPager instead. 
TabWidget This class was deprecated in API level 30. new applications should use fragment APIs instead of this class: Use TabLayout and ViewPager instead. 
TableLayout

A layout that arranges its children into rows and columns. 

TableRow

A layout that arranges its children horizontally. 

TextSwitcher Specialized ViewSwitcher that contains only children of type TextView
TimePicker A widget for selecting the time of day, in either 24-hour or AM/PM mode. 
TwoLineListItem This class was deprecated in API level 17. This class can be implemented easily by apps using a RelativeLayout or a LinearLayout. 
ViewAnimator Base class for a FrameLayout container that will perform animations when switching between its views. 
ViewFlipper Simple ViewAnimator that will animate between two or more views that have been added to it. 
ViewSwitcher ViewAnimator that switches between two views, and has a factory from which these views are created. 
WebView A View that displays web pages. 
ZoomControls This class was deprecated in API level 29. This functionality and UI is better handled with custom views and layouts rather than a dedicated zoom-control widget 


A ViewGroup is a special view that can contain other views (called children.) The view group is the base class for layouts and views containers. This class also defines the ViewGroup.LayoutParams class which serves as the base class for layouts parameters.

Also see LayoutParams for layout attributes.

Developer Guides

For more information about creating user interface layouts, read the XML Layouts developer guide.

Here is a complete implementation of a custom ViewGroup that implements a simple FrameLayout along with the ability to stack children in left and right gutters.

import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RemoteViews;

/**
 * Example of writing a custom layout manager.  This is a fairly full-featured
 * layout manager that is relatively general, handling all layout cases.  You
 * can simplify it for more specific cases.
 */
@RemoteViews.RemoteView
public class CustomLayout extends ViewGroup {
    /** The amount of space used by children in the left gutter. */
    private int mLeftWidth;

    /** The amount of space used by children in the right gutter. */
    private int mRightWidth;

    /** These are used for computing child frames based on their gravity. */
    private final Rect mTmpContainerRect = new Rect();
    private final Rect mTmpChildRect = new Rect();

    public CustomLayout(Context context) {
        super(context);
    }

    public CustomLayout(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public CustomLayout(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    /**
     * Any layout manager that doesn't scroll will want this.
     */
    @Override
    public boolean shouldDelayChildPressedState() {
        return false;
    }

    /**
     * Ask all children to measure themselves and compute the measurement of this
     * layout based on the children.
     */
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int count = getChildCount();

        // These keep track of the space we are using on the left and right for
        // views positioned there; we need member variables so we can also use
        // these for layout later.
        mLeftWidth = 0;
        mRightWidth = 0;

        // Measurement will ultimately be computing these values.
        int maxHeight = 0;
        int maxWidth = 0;
        int childState = 0;

        // Iterate through all children, measuring them and computing our dimensions
        // from their size.
        for (int i = 0; i < count; i++) {
            final View child = getChildAt(i);
            if (child.getVisibility() != GONE) {
                // Measure the child.
                measureChildWithMargins(child, widthMeasureSpec, 0, heightMeasureSpec, 0);

                // Update our size information based on the layout params.  Children
                // that asked to be positioned on the left or right go in those gutters.
                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
                if (lp.position == LayoutParams.POSITION_LEFT) {
                    mLeftWidth += Math.max(maxWidth,
                            child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin);
                } else if (lp.position == LayoutParams.POSITION_RIGHT) {
                    mRightWidth += Math.max(maxWidth,
                            child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin);
                } else {
                    maxWidth = Math.max(maxWidth,
                            child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin);
                }
                maxHeight = Math.max(maxHeight,
                        child.getMeasuredHeight() + lp.topMargin + lp.bottomMargin);
                childState = combineMeasuredStates(childState, child.getMeasuredState());
            }
        }

        // Total width is the maximum width of all inner children plus the gutters.
        maxWidth += mLeftWidth + mRightWidth;

        // Check against our minimum height and width
        maxHeight = Math.max(maxHeight, getSuggestedMinimumHeight());
        maxWidth = Math.max(maxWidth, getSuggestedMinimumWidth());

        // Report our final dimensions.
        setMeasuredDimension(resolveSizeAndState(maxWidth, widthMeasureSpec, childState),
                resolveSizeAndState(maxHeight, heightMeasureSpec,
                        childState << MEASURED_HEIGHT_STATE_SHIFT));
    }

    /**
     * Position all children within this layout.
     */
    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        final int count = getChildCount();

        // These are the far left and right edges in which we are performing layout.
        int leftPos = getPaddingLeft();
        int rightPos = right - left - getPaddingRight();

        // This is the middle region inside of the gutter.
        final int middleLeft = leftPos + mLeftWidth;
        final int middleRight = rightPos - mRightWidth;

        // These are the top and bottom edges in which we are performing layout.
        final int parentTop = getPaddingTop();
        final int parentBottom = bottom - top - getPaddingBottom();

        for (int i = 0; i < count; i++) {
            final View child = getChildAt(i);
            if (child.getVisibility() != GONE) {
                final LayoutParams lp = (LayoutParams) child.getLayoutParams();

                final int width = child.getMeasuredWidth();
                final int height = child.getMeasuredHeight();

                // Compute the frame in which we are placing this child.
                if (lp.position == LayoutParams.POSITION_LEFT) {
                    mTmpContainerRect.left = leftPos + lp.leftMargin;
                    mTmpContainerRect.right = leftPos + width + lp.rightMargin;
                    leftPos = mTmpContainerRect.right;
                } else if (lp.position == LayoutParams.POSITION_RIGHT) {
                    mTmpContainerRect.right = rightPos - lp.rightMargin;
                    mTmpContainerRect.left = rightPos - width - lp.leftMargin;
                    rightPos = mTmpContainerRect.left;
                } else {
                    mTmpContainerRect.left = middleLeft + lp.leftMargin;
                    mTmpContainerRect.right = middleRight - lp.rightMargin;
                }
                mTmpContainerRect.top = parentTop + lp.topMargin;
                mTmpContainerRect.bottom = parentBottom - lp.bottomMargin;

                // Use the child's gravity and size to determine its final
                // frame within its container.
                Gravity.apply(lp.gravity, width, height, mTmpContainerRect, mTmpChildRect);

                // Place the child.
                child.layout(mTmpChildRect.left, mTmpChildRect.top,
                        mTmpChildRect.right, mTmpChildRect.bottom);
            }
        }
    }

    // ----------------------------------------------------------------------
    // The rest of the implementation is for custom per-child layout parameters.
    // If you do not need these (for example you are writing a layout manager
    // that does fixed positioning of its children), you can drop all of this.

    @Override
    public LayoutParams generateLayoutParams(AttributeSet attrs) {
        return new CustomLayout.LayoutParams(getContext(), attrs);
    }

    @Override
    protected LayoutParams generateDefaultLayoutParams() {
        return new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    }

    @Override
    protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
        return new LayoutParams(p);
    }

    @Override
    protected boolean checkLayoutParams(ViewGroup.LayoutParams p) {
        return p instanceof LayoutParams;
    }

    /**
     * Custom per-child layout information.
     */
    public static class LayoutParams extends MarginLayoutParams {
        /**
         * The gravity to apply with the View to which these layout parameters
         * are associated.
         */
        public int gravity = Gravity.TOP | Gravity.START;

        public static int POSITION_MIDDLE = 0;
        public static int POSITION_LEFT = 1;
        public static int POSITION_RIGHT = 2;

        public int position = POSITION_MIDDLE;

        public LayoutParams(Context c, AttributeSet attrs) {
            super(c, attrs);

            // Pull the layout param values from the layout XML during
            // inflation.  This is not needed if you don't care about
            // changing the layout behavior in XML.
            TypedArray a = c.obtainStyledAttributes(attrs, R.styleable.CustomLayoutLP);
            gravity = a.getInt(R.styleable.CustomLayoutLP_android_layout_gravity, gravity);
            position = a.getInt(R.styleable.CustomLayoutLP_layout_position, position);
            a.recycle();
        }

        public LayoutParams(int width, int height) {
            super(width, height);
        }

        public LayoutParams(ViewGroup.LayoutParams source) {
            super(source);
        }
    }
}

If you are implementing XML layout attributes as shown in the example, this is the corresponding definition for them that would go in res/values/attrs.xml:

<declare-styleable name="CustomLayoutLP">
    <attr name="android:layout_gravity" />
    <attr name="layout_position">
        <enum name="middle" value="0" />
        <enum name="left" value="1" />
        <enum name="right" value="2" />
    </attr>
</declare-styleable>

Finally the layout manager can be used in an XML layout like so:

<com.example.android.apis.view.CustomLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res/com.example.android.apis"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <!-- put first view to left. -->
    <TextView
            android:background="@drawable/filled_box"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_position="left"
            android:layout_gravity="fill_vertical|center_horizontal"
            android:text="l1"/>

    <!-- stack second view to left. -->
    <TextView
            android:background="@drawable/filled_box"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_position="left"
            android:layout_gravity="fill_vertical|center_horizontal"
            android:text="l2"/>

    <!-- also put a view on the right. -->
    <TextView
            android:background="@drawable/filled_box"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_position="right"
            android:layout_gravity="fill_vertical|center_horizontal"
            android:text="r1"/>

    <!-- by default views go in the middle; use fill vertical gravity -->
    <TextView
            android:background="@drawable/green"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="fill_vertical|center_horizontal"
            android:text="fill-vert"/>

    <!-- by default views go in the middle; use fill horizontal gravity -->
    <TextView
            android:background="@drawable/green"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|fill_horizontal"
            android:text="fill-horiz"/>

    <!-- by default views go in the middle; use top-left gravity -->
    <TextView
            android:background="@drawable/blue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top|left"
            android:text="top-left"/>

    <!-- by default views go in the middle; use center gravity -->
    <TextView
            android:background="@drawable/blue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="center"/>

    <!-- by default views go in the middle; use bottom-right -->
    <TextView
            android:background="@drawable/blue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|right"
            android:text="bottom-right"/>

</com.example.android.apis.view.CustomLayout>

Summary

Nested classes

class ViewGroup.LayoutParams

LayoutParams are used by views to tell their parents how they want to be laid out. 

class ViewGroup.MarginLayoutParams

Per-child layout information for layouts that support margins. 

interface ViewGroup.OnHierarchyChangeListener

Interface definition for a callback to be invoked when the hierarchy within this view changed. 

XML attributes

android:addStatesFromChildren Sets whether this ViewGroup's drawable states also include its children's drawable states. 
android:alwaysDrawnWithCache Defines whether the ViewGroup should always draw its children using their drawing cache or not. 
android:animateLayoutChanges Defines whether changes in layout (caused by adding and removing items) should cause a LayoutTransition to run. 
android:animationCache Defines whether layout animations should create a drawing cache for their children. 
android:clipChildren Defines whether a child is limited to draw inside of its bounds or not. 
android:clipToPadding Defines whether the ViewGroup will clip its children and resize (but not clip) any EdgeEffect to its padding, if padding is not zero. 
android:descendantFocusability Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus. 
android:layoutAnimation Defines the layout animation to use the first time the ViewGroup is laid out. 
android:layoutMode Defines the layout mode of this ViewGroup. 
android:persistentDrawingCache Defines the persistence of the drawing cache. 
android:splitMotionEvents Sets whether this ViewGroup should split MotionEvents to separate child views during touch event dispatch. 

Inherited 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 "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name". 

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 "true" or "false". 

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:supplementalDescription

May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character; 

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 CLIP_TO_PADDING_MASK

We clip to padding when FLAG_CLIP_TO_PADDING and FLAG_PADDING_NOT_NULL are set at the same time.

int FOCUS_AFTER_DESCENDANTS

This view will get focus only if none of its descendants want it.

int FOCUS_BEFORE_DESCENDANTS

This view will get focus before any of its descendants.

int FOCUS_BLOCK_DESCENDANTS

This view will block any of its descendants from getting focus, even if they are focusable.

int LAYOUT_MODE_CLIP_BOUNDS

This constant is a layoutMode.

int LAYOUT_MODE_OPTICAL_BOUNDS

This constant is a layoutMode.

int PERSISTENT_ALL_CACHES

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, View.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 View.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.

int PERSISTENT_ANIMATION_CACHE

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, View.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 View.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.

int PERSISTENT_NO_CACHE

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, View.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 View.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.

int PERSISTENT_SCROLLING_CACHE

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, View.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 View.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.

Inherited constants

int ACCESSIBILITY_DATA_SENSITIVE_AUTO

Automatically determine whether the view should only allow interactions from AccessibilityServices with the AccessibilityServiceInfo.isAccessibilityTool() property set to true.

int ACCESSIBILITY_DATA_SENSITIVE_NO

Allow interactions from all AccessibilityServices, regardless of their AccessibilityServiceInfo.isAccessibilityTool() property.

int ACCESSIBILITY_DATA_SENSITIVE_YES

Only allow interactions from AccessibilityServices with the AccessibilityServiceInfo.isAccessibilityTool() property set to true.

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 setImportantForAutofill(int)) to a ViewStructure.

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 Date.getTime().

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

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

int AUTOFILL_TYPE_TOGGLE

Autofill type for a togglable field, which is filled by a boolean.

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 AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_START.

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

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.

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 DRAG_FLAG_GLOBAL, the drag recipient will be able to request read access to the content URI(s) contained in the ClipData object.

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.

int DRAG_FLAG_HIDE_CALLING_TASK_ON_DRAG_START

Flag indicating that this drag will result in the caller activity's task to be hidden for the duration of the drag, which means that the source activity will not receive drag events for the current drag gesture.

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

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.

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.

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 addFocusables(java.util.ArrayList, int, int) should add all focusable Views regardless if they are focusable in touch mode.

int FOCUSABLES_TOUCH_MODE

View flag indicating whether addFocusables(java.util.ArrayList, int, int) should add only Views focusable in touch mode.

int FOCUSABLE_AUTO

This view determines focusability automatically.

int FOCUS_BACKWARD

Use with focusSearch(int).

int FOCUS_DOWN

Use with focusSearch(int).

int FOCUS_FORWARD

Use with focusSearch(int).

int FOCUS_LEFT

Use with focusSearch(int).

int FOCUS_RIGHT

Use with focusSearch(int).

int FOCUS_UP

Use with focusSearch(int).

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

int MEASURED_SIZE_MASK

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

int MEASURED_STATE_MASK

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

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.

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 SYSTEM_UI_FLAG_LOW_PROFILE instead.

int STATUS_BAR_VISIBLE

This constant was deprecated in API level 15. Use SYSTEM_UI_FLAG_VISIBLE instead.

int SYSTEM_UI_FLAG_FULLSCREEN

This constant was deprecated in API level 30. Use WindowInsetsController.hide(int) with Type.statusBars() instead.

int SYSTEM_UI_FLAG_HIDE_NAVIGATION

This constant was deprecated in API level 30. Use WindowInsetsController.hide(int) with Type.navigationBars() instead.

int SYSTEM_UI_FLAG_IMMERSIVE

This constant was deprecated in API level 30. Use WindowInsetsController.BEHAVIOR_DEFAULT instead.

int SYSTEM_UI_FLAG_IMMERSIVE_STICKY

This constant was deprecated in API level 30. Use WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE instead.

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.

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.

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.

int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR

This constant was deprecated in API level 30. Use WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS instead.

int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR

This constant was deprecated in API level 30. Use WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS instead.

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().

int SYSTEM_UI_FLAG_VISIBLE

This constant was deprecated in API level 30. SystemUiVisibility flags are deprecated. Use WindowInsetsController instead.

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 ViewGroup

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.

Inherited fields

public static final Property<ViewFloat> ALPHA

A Property wrapper around the alpha functionality handled by the View.setAlpha(float) and View.getAlpha() methods.

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<ViewFloat> ROTATION

A Property wrapper around the rotation functionality handled by the View.setRotation(float) and View.getRotation() methods.

public static final Property<ViewFloat> ROTATION_X

A Property wrapper around the rotationX functionality handled by the View.setRotationX(float) and View.getRotationX() methods.

public static final Property<ViewFloat> ROTATION_Y

A Property wrapper around the rotationY functionality handled by the View.setRotationY(float) and View.getRotationY() methods.

public static final Property<ViewFloat> SCALE_X

A Property wrapper around the scaleX functionality handled by the View.setScaleX(float) and View.getScaleX() methods.

public static final Property<ViewFloat> SCALE_Y

A Property wrapper around the scaleY functionality handled by the View.setScaleY(float) and View.getScaleY() methods.

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<ViewFloat> TRANSLATION_X

A Property wrapper around the translationX functionality handled by the View.setTranslationX(float) and View.getTranslationX() methods.

public static final Property<ViewFloat> TRANSLATION_Y

A Property wrapper around the translationY functionality handled by the View.setTranslationY(float) and View.getTranslationY() methods.

public static final Property<ViewFloat> TRANSLATION_Z

A Property wrapper around the translationZ functionality handled by the View.setTranslationZ(float) and View.getTranslationZ() methods.

protected static final int[] WINDOW_FOCUSED_STATE_SET

Indicates the view's window has focus.

public static final Property<ViewFloat> X

A Property wrapper around the x functionality handled by the View.setX(float) and View.getX() methods.

public static final Property<ViewFloat> Y

A Property wrapper around the y functionality handled by the View.setY(float) and View.getY() methods.

public static final Property<ViewFloat> Z

A Property wrapper around the z functionality handled by the View.setZ(float) and View.getZ() methods.

Public constructors

ViewGroup(Context context)
ViewGroup(Context context, AttributeSet attrs)
ViewGroup(Context context, AttributeSet attrs, int defStyleAttr)
ViewGroup(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

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 AccessibilityNodeInfo based on an explicit request for the additional data.

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.

boolean addStatesFromChildren()

Returns whether this ViewGroup's drawable states also include its children's drawable states.

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.

void addView(View child, ViewGroup.LayoutParams params)

Adds a child view with the specified layout parameters.

void addView(View child, int index)

Adds a child view.

void addView(View child, int index, ViewGroup.LayoutParams params)

Adds a child view with the specified layout parameters.

void addView(View child)

Adds a child view.

void addView(View child, int width, int height)

Adds a child view with this ViewGroup's default layout parameters and the specified width and height.

void bringChildToFront(View child)

Change the z order of the child so it's on top of all other children.

void childDrawableStateChanged(View child)

If addStatesFromChildren() is true, refreshes this group's drawable state (to include the states from its children).

void childHasTransientStateChanged(View child, boolean childHasTransientState)

Called when a child view has changed whether or not it is tracking transient state.

void clearChildFocus(View child)

Called when a child of this parent is giving up focus

void clearDisappearingChildren()

Removes any pending animations for views that have been removed.

void clearFocus()

Called when this view wants to give up focus.

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 ViewTranslationRequests for translation purpose by traversing the hierarchy when the app requests ui translation. The implementation calls dispatchCreateViewTranslationRequest(Map, int, TranslationCapability, List) for all the child views.

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 drawable hotspot changes to child views that meet at least one of the following criteria:

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.

void dispatchPointerCaptureChanged(boolean hasCapture)
void dispatchProvideAutofillStructure(ViewStructure structure, int flags)

Dispatches creation of a ViewStructures for autofill purposes down the hierarchy, when an Assist structure is being created as part of an autofill request.

This implementation adds in all child views of the view group, in addition to calling the default View implementation.

void dispatchProvideStructure(ViewStructure structure)

Dispatch creation of ViewStructure down the hierarchy.

void dispatchScrollCaptureSearch(Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)

Handle the scroll capture search request by checking this view if applicable, then to each child view.

void dispatchSetActivated(boolean activated)

Dispatch setActivated to all of this View's children.

void dispatchSetSelected(boolean selected)

Dispatch setSelected to all of this View's children.

void dispatchSystemUiVisibilityChanged(int visible)

This method is deprecated. Use WindowInsets.isVisible(int) to find out about system bar visibilities by setting a OnApplyWindowInsetsListener on this view.

boolean dispatchTouchEvent(MotionEvent ev)

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 WindowInsetsAnimation.Callback.onEnd(WindowInsetsAnimation) when Window Insets animation ends.

void dispatchWindowInsetsAnimationPrepare(WindowInsetsAnimation animation)

Dispatches WindowInsetsAnimation.Callback.onPrepare(WindowInsetsAnimation) when Window Insets animation is being prepared.

WindowInsets dispatchWindowInsetsAnimationProgress(WindowInsets insets, List<WindowInsetsAnimation> runningAnimations)

Dispatches WindowInsetsAnimation.Callback.onProgress(WindowInsets, List) when Window Insets animation makes progress.

WindowInsetsAnimation.Bounds dispatchWindowInsetsAnimationStart(WindowInsetsAnimation animation, WindowInsetsAnimation.Bounds bounds)

Dispatches WindowInsetsAnimation.Callback.onStart(WindowInsetsAnimation, Bounds) when Window Insets animation is started.

void dispatchWindowSystemUiVisiblityChanged(int visible)

This method is deprecated. SystemUiVisibility flags are deprecated. Use WindowInsetsController instead.

void dispatchWindowVisibilityChanged(int visibility)

Dispatch a window visibility change down the view hierarchy.

void endViewTransition(View view)

This method should always be called following an earlier call to startViewTransition(android.view.View).

View findFocus()

Find the view in the hierarchy rooted at this view that currently has focus.

OnBackInvokedDispatcher findOnBackInvokedDispatcherForChild(View child, View requester)

Walk up the View hierarchy to find the nearest OnBackInvokedDispatcher.

void findViewsWithText(ArrayList<View> outViews, CharSequence text, int flags)

Finds the Views that contain given text.

View focusSearch(View focused, int direction)

Find the nearest view in the specified direction that wants to take focus.

void focusableViewAvailable(View v)

Tells the parent that a new focusable view has become available.

boolean gatherTransparentRegion(Region region)

This is used by the ViewRoot to perform an optimization when the view hierarchy contains one or several SurfaceView.

ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs)

Returns a new set of layout parameters based on the supplied attributes set.

CharSequence getAccessibilityClassName()

Return the class name of this object to be used for accessibility purposes.

View getChildAt(int index)

Returns the view at the specified position in the group.

int getChildCount()

Returns the number of children in the group.

final int getChildDrawingOrder(int drawingPosition)

Converts drawing order position to container position.

static int getChildMeasureSpec(int spec, int padding, int childDimension)

Does the hard part of measureChildren: figuring out the MeasureSpec to pass to a particular child.

boolean getChildVisibleRect(View child, Rect r, Point offset)

Compute the visible part of a rectangular region defined in terms of a child view's coordinates.

boolean getClipChildren()

Returns whether this group's children are clipped to their bounds before drawing.

boolean getClipToPadding()

Returns whether this ViewGroup will clip its children to its padding, and resize (but not clip) any EdgeEffect to the padded region, if padding is present.

int getDescendantFocusability()

Gets the descendant focusability of this view group.

View getFocusedChild()

Returns the focused child of this view, if any.

LayoutAnimationController getLayoutAnimation()

Returns the layout animation controller used to animate the group's children.

Animation.AnimationListener getLayoutAnimationListener()

Returns the animation listener to which layout animation events are sent.

int getLayoutMode()

Returns the basis of alignment during layout operations on this ViewGroup: either LAYOUT_MODE_CLIP_BOUNDS or LAYOUT_MODE_OPTICAL_BOUNDS.

LayoutTransition getLayoutTransition()

Gets the LayoutTransition object for this ViewGroup.

int getNestedScrollAxes()

Return the current axes of nested scrolling for this ViewGroup.

ViewGroupOverlay getOverlay()

Returns the ViewGroupOverlay for this view group, creating it if it does not yet exist.

int getPersistentDrawingCache()

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, View.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 View.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.

boolean getTouchscreenBlocksFocus()

Check whether this ViewGroup should ignore focus requests for itself and its children.

boolean hasFocus()

Returns true if this view has or contains focus

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.

int indexOfChild(View child)

Returns the position in the group of the specified child view.

final void invalidateChild(View child, Rect dirty)

This method is deprecated. Use onDescendantInvalidated(android.view.View, android.view.View) instead to observe updates to draw state in descendants.

ViewParent invalidateChildInParent(int[] location, Rect dirty)

This method is deprecated. Use onDescendantInvalidated(android.view.View, android.view.View) instead to observe updates to draw state in descendants.

boolean isAlwaysDrawnWithCacheEnabled()

This method was deprecated in API level 23. As of Build.VERSION_CODES.M, this property is ignored. Child views may no longer have their caching behavior disabled by parents.

boolean isAnimationCacheEnabled()

This method was deprecated in API level 23. As of Build.VERSION_CODES.M, this property is ignored. Caching behavior of children may be controlled through View.setLayerType(int, Paint).

boolean isLayoutSuppressed()

Returns whether layout calls on this container are currently being suppressed, due to an earlier call to suppressLayout(boolean).

boolean isMotionEventSplittingEnabled()

Returns true if MotionEvents dispatched to this ViewGroup can be split to multiple children.

boolean isTransitionGroup()

Returns true if this ViewGroup should be considered as a single entity for removal when executing an Activity transition.

void jumpDrawablesToCurrentState()

Call Drawable.jumpToCurrentState() on all Drawable objects associated with this view.

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

void notifySubtreeAccessibilityStateChanged(View child, View source, int changeType)

Notifies a view parent that the accessibility state of one of its descendants has changed and that the structure of the subtree is different.

final void offsetDescendantRectToMyCoords(View descendant, Rect rect)

Offset a rectangle that is in a descendant's coordinate space into our coordinate space.

final void offsetRectIntoDescendantCoords(View descendant, Rect rect)

Offset a rectangle that is in our coordinate space into an ancestor's coordinate space.

void onDescendantInvalidated(View child, View target)

The target View has been invalidated, or has had a drawing property changed that requires the hierarchy to re-render. If you override this method you must call through to the superclass implementation.

boolean onInterceptHoverEvent(MotionEvent event)

Implement this method to intercept hover events before they are handled by child views.

boolean onInterceptTouchEvent(MotionEvent ev)

Implement this method to intercept all touch screen motion events.

boolean onNestedFling(View target, float velocityX, float velocityY, boolean consumed)

Request a fling from a nested scroll.

boolean onNestedPreFling(View target, float velocityX, float velocityY)

React to a nested fling before the target view consumes it.

boolean onNestedPrePerformAccessibilityAction(View target, int action, Bundle args)

React to an accessibility action delegated by a target descendant view before the target processes it.

Subclasses should always call super.onNestedPrePerformAccessibilityAction

void onNestedPreScroll(View target, int dx, int dy, int[] consumed)

React to a nested scroll in progress before the target view consumes a portion of the scroll.

void onNestedScroll(View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed)

React to a nested scroll in progress.

void onNestedScrollAccepted(View child, View target, int axes)

React to the successful claiming of a nested scroll operation.

boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event)

Called when a child has requested sending an AccessibilityEvent and gives an opportunity to its parent to augment the event.

PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex)

Resolve the pointer icon that should be used for specified pointer in the motion event.

boolean onStartNestedScroll(View child, View target, int nestedScrollAxes)

React to a descendant view initiating a nestable scroll operation, claiming the nested scroll operation if appropriate.

void onStopNestedScroll(View child)

React to a nested scroll operation ending.

void onViewAdded(View child)

Called when a new child is added to this ViewGroup.

void onViewRemoved(View child)

Called when a child view is removed from this ViewGroup.

void propagateRequestedFrameRate(float frameRate, boolean forceOverride)

You can set the preferred frame rate for a ViewGroup and its children 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.

void recomputeViewAttributes(View child)

Tell view hierarchy that the global view attributes need to be re-evaluated.

void removeAllViews()

Call this method to remove all child views from the ViewGroup.

void removeAllViewsInLayout()

Called by a ViewGroup subclass to remove child views from itself, when it must first know its size on screen before it can calculate how many child views it will render.

void removeView(View view)

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

void removeViewAt(int index)

Removes the view at the specified position in the group.

void removeViewInLayout(View view)

Removes a view during layout.

void removeViews(int start, int count)

Removes the specified range of views from the group.

void removeViewsInLayout(int start, int count)

Removes a range of views during layout.

void requestChildFocus(View child, View focused)

Called when a child of this parent wants focus

boolean requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate)

Called when a child of this group wants a particular rectangle to be positioned onto the screen.

void requestDisallowInterceptTouchEvent(boolean disallowIntercept)

Called when a child does not want this parent and its ancestors to intercept touch events with ViewGroup.onInterceptTouchEvent(MotionEvent).

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. Looks for a view to give focus to respecting the setting specified by getDescendantFocusability().

boolean requestSendAccessibilityEvent(View child, AccessibilityEvent event)

Called by a child to request from its parent to send an AccessibilityEvent.

void requestTransparentRegion(View child)

Called when a child wants the view hierarchy to gather and report transparent regions to the window compositor.

boolean restoreDefaultFocus()

Gives focus to the default-focus view in the view hierarchy that has this view as a root.

void scheduleLayoutAnimation()

Schedules the layout animation to be played after the next layout pass of this view group.

void setAddStatesFromChildren(boolean addsStates)

Sets whether this ViewGroup's drawable states also include its children's drawable states.

void setAlwaysDrawnWithCacheEnabled(boolean always)

This method was deprecated in API level 23. As of Build.VERSION_CODES.M, this property is ignored. Child views may no longer have their caching behavior disabled by parents.

void setAnimationCacheEnabled(boolean enabled)

This method was deprecated in API level 23. As of Build.VERSION_CODES.M, this property is ignored. Caching behavior of children may be controlled through View.setLayerType(int, Paint).

void setClipChildren(boolean clipChildren)

By default, children are clipped to their bounds before drawing.

void setClipToPadding(boolean clipToPadding)

Sets whether this ViewGroup will clip its children to its padding and resize (but not clip) any EdgeEffect to the padded region, if padding is present.

void setDescendantFocusability(int focusability)

Set the descendant focusability of this view group.

void setLayoutAnimation(LayoutAnimationController controller)

Sets the layout animation controller used to animate the group's children after the first layout.

void setLayoutAnimationListener(Animation.AnimationListener animationListener)

Specifies the animation listener to which layout animation events must be sent.

void setLayoutMode(int layoutMode)

Sets the basis of alignment during the layout of this ViewGroup.

void setLayoutTransition(LayoutTransition transition)

Sets the LayoutTransition object for this ViewGroup.

void setMotionEventSplittingEnabled(boolean split)

Enable or disable the splitting of MotionEvents to multiple children during touch event dispatch.

void setOnHierarchyChangeListener(ViewGroup.OnHierarchyChangeListener listener)

Register a callback to be invoked when a child is added to or removed from this view.

void setPersistentDrawingCache(int drawingCacheToKeep)

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, View.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 View.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.

void setRequestedFrameRate(float frameRate)

You can set the preferred frame rate for a ViewGroup 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.

void setTouchscreenBlocksFocus(boolean touchscreenBlocksFocus)

Set whether this ViewGroup should ignore focus requests for itself and its children.

void setTransitionGroup(boolean isTransitionGroup)

Changes whether or not this ViewGroup should be treated as a single entity during Activity Transitions.

void setWindowInsetsAnimationCallback(WindowInsetsAnimation.Callback callback)

Sets a WindowInsetsAnimation.Callback to be notified about animations of windows that cause insets.

boolean shouldDelayChildPressedState()

Return true if the pressed state should be delayed for children or descendants of this ViewGroup.

boolean showContextMenuForChild(View originalView, float x, float y)

Shows the context menu for the specified view or its ancestors anchored to the specified view-relative coordinate.

boolean showContextMenuForChild(View originalView)

Shows the context menu for the specified view or its ancestors.

ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback, int type)

Start an action mode of a specific type for the specified view.

ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback)

Start an action mode for the specified view with the default type ActionMode.TYPE_PRIMARY.

void startLayoutAnimation()

Runs the layout animation.

void startViewTransition(View view)

This method tells the ViewGroup that the given View object, which should have this ViewGroup as its parent, should be kept around (re-displayed when the ViewGroup draws its children) even if it is removed from its parent.

void suppressLayout(boolean suppress)

Tells this ViewGroup to suppress all layout() calls until layout suppression is disabled with a later call to suppressLayout(false).

void updateViewLayout(View view, ViewGroup.LayoutParams params)

Protected methods

boolean addViewInLayout(View child, int index, ViewGroup.LayoutParams params, boolean preventRequestLayout)

Adds a view during layout.

boolean addViewInLayout(View child, int index, ViewGroup.LayoutParams params)

Adds a view during layout.

void attachLayoutAnimationParameters(View child, ViewGroup.LayoutParams params, int index, int count)

Subclasses should override this method to set layout animation parameters on the supplied child.

void attachViewToParent(View child, int index, ViewGroup.LayoutParams params)

Attaches a view to this view group.

boolean canAnimate()

Indicates whether the view group has the ability to animate its children after the first layout.

boolean checkLayoutParams(ViewGroup.LayoutParams p)
void cleanupLayoutState(View child)

Prevents the specified child to be laid out during the next layout pass.

void debug(int depth)
void detachAllViewsFromParent()

Detaches all views from the parent.

void detachViewFromParent(int index)

Detaches a view from its parent.

void detachViewFromParent(View child)

Detaches a view from its parent.

void detachViewsFromParent(int start, int count)

Detaches a range of views from their parents.

void dispatchDraw(Canvas canvas)

Called by draw to draw the child views.

void dispatchFreezeSelfOnly(SparseArray<Parcelable> container)

Perform dispatching of a View.saveHierarchyState(android.util.SparseArray) freeze()} to only this view, not to its children.

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 restoreHierarchyState(android.util.SparseArray) to retrieve the state for this view and its children.

void dispatchSaveInstanceState(SparseArray<Parcelable> container)

Called by saveHierarchyState(android.util.SparseArray) to store the state for this view and its children.

void dispatchSetPressed(boolean pressed)

Dispatch setPressed to all of this View's children.

void dispatchThawSelfOnly(SparseArray<Parcelable> container)

Perform dispatching of a View.restoreHierarchyState(android.util.SparseArray) to only this view, not to its children.

void dispatchVisibilityChanged(View changedView, int visibility)

Dispatch a view visibility change down the view hierarchy.

boolean drawChild(Canvas canvas, View child, long drawingTime)

Draw one child of this View Group.

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.

ViewGroup.LayoutParams generateDefaultLayoutParams()

Returns a set of default layout parameters.

ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p)

Returns a safe set of layout parameters based on the supplied layout params.

int getChildDrawingOrder(int childCount, int drawingPosition)

Converts drawing order position to container position.

boolean getChildStaticTransformation(View child, Transformation t)

Sets t to be the static transformation of the child, if set, returning a boolean to indicate whether a static transform was set.

boolean isChildrenDrawingOrderEnabled()

Indicates whether the ViewGroup is drawing its children in the order defined by getChildDrawingOrder(int, int).

boolean isChildrenDrawnWithCacheEnabled()

This method was deprecated in API level 23. As of Build.VERSION_CODES.M, this property is ignored. Child views may no longer be forced to cache their rendering state by their parents. Use View.setLayerType(int, Paint) on individual Views instead.

void measureChild(View child, int parentWidthMeasureSpec, int parentHeightMeasureSpec)

Ask one of the children of this view to measure itself, taking into account both the MeasureSpec requirements for this view and its padding.

void measureChildWithMargins(View child, int parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int heightUsed)

Ask one of the children of this view to measure itself, taking into account both the MeasureSpec requirements for this view and its padding and margins.

void measureChildren(int widthMeasureSpec, int heightMeasureSpec)

Ask all of the children of this view to measure themselves, taking into account both the MeasureSpec requirements for this view and its padding.

void onAttachedToWindow()

This is called when the view is attached to a window.

int[] onCreateDrawableState(int extraSpace)

Generate the new Drawable state for this view.

void onDetachedFromWindow()

This is called when the view is detached from a window.

abstract void onLayout(boolean changed, int l, int t, int r, int b)

Called from layout when this view should assign a size and position to each of its children.

boolean onRequestFocusInDescendants(int direction, Rect previouslyFocusedRect)

Look for a descendant to call View.requestFocus on.

void removeDetachedView(View child, boolean animate)

Finishes the removal of a detached view.

void setChildrenDrawingCacheEnabled(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, View.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 View.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.

void setChildrenDrawingOrderEnabled(boolean enabled)

Tells the ViewGroup whether to draw its children in the order defined by the method getChildDrawingOrder(int, int).

void setChildrenDrawnWithCacheEnabled(boolean enabled)

This method was deprecated in API level 23. As of Build.VERSION_CODES.M, this property is ignored. Child views may no longer be forced to cache their rendering state by their parents. Use View.setLayerType(int, Paint) on individual Views instead.

void setStaticTransformationsEnabled(boolean enabled)

When this property is set to true, this ViewGroup supports static transformations on children; this causes getChildStaticTransformation(android.view.View, android.view.animation.Transformation) to be invoked when a child is drawn.

Inherited 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 AccessibilityNodeInfo based on an explicit request for the additional data.

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

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)

This method was deprecated in API level Baklava. Use one of the methods described in the documentation above to semantically describe UI instead of using an announcement, as accessibility services may choose to ignore events dispatched with this method.

void autofill(AutofillValue value)

Automatically fills the content of this view with the value.

void autofill(SparseArray<AutofillValue> values)

Automatically fills the content of the virtual children within this view.

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.

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

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.

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 InputMethodManager when a view who is not the current input connection target is trying to make a call on the manager.

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 View.setPendingCredentialRequest.

void clearViewTranslationCallback()

Clear the ViewTranslationCallback from this view.

static int combineMeasuredStates(int curState, int newState)

Merge two states as returned by getMeasuredState().

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.

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.

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.

AccessibilityNodeInfo createAccessibilityNodeInfo()

Returns an AccessibilityNodeInfo representing this view from the point of view of an AccessibilityService.

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

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 ViewTranslationRequests for translation purpose by traversing the hierarchy when the app requests ui translation.

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 dispatchDraw(Canvas canvas)

Called by draw to draw the child views.

void dispatchDrawableHotspotChanged(float x, float y)

Dispatches drawableHotspotChanged to all of this View's children.

void dispatchFinishTemporaryDetach()

Dispatch onFinishTemporaryDetach() to this View and its direct children if this is a container View.

boolean dispatchGenericFocusedEvent(MotionEvent event)

Dispatch a generic motion event to the currently focused view.

boolean dispatchGenericMotionEvent(MotionEvent event)

Dispatch a generic motion event.

boolean dispatchGenericPointerEvent(MotionEvent event)

Dispatch a generic motion event to the view under the first pointer.

boolean dispatchHoverEvent(MotionEvent event)

Dispatch a hover 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 AccessibilityEvent to the View to add the text content of the view and its children.

void dispatchProvideAutofillStructure(ViewStructure structure, int flags)

Dispatches creation of a ViewStructures for autofill purposes down the hierarchy, when an Assist structure is being created as part of an autofill request.

void dispatchProvideStructure(ViewStructure structure)

Dispatch creation of ViewStructure down the hierarchy.

void dispatchRestoreInstanceState(SparseArray<Parcelable> container)

Called by restoreHierarchyState(android.util.SparseArray) to retrieve the state for this view and its children.

void dispatchSaveInstanceState(SparseArray<Parcelable> container)

Called by saveHierarchyState(android.util.SparseArray) to store the state for this view and its children.

void dispatchScrollCaptureSearch(Rect localVisibleRect, Point windowOffset, Consumer<ScrollCaptureTarget> targets)

Dispatch a scroll capture search request down the view hierarchy.

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 dispatchStartTemporaryDetach()

Dispatch onStartTemporaryDetach() to this View and its direct children if this is a container View.

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.

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 dispatchVisibilityChanged(View changedView, int visibility)

Dispatch a view visibility change down the view hierarchy.

void dispatchWindowFocusChanged(boolean hasFocus)

Called when the window containing this view gains or loses window focus.

void dispatchWindowInsetsAnimationEnd(WindowInsetsAnimation animation)

Dispatches WindowInsetsAnimation.Callback.onEnd(WindowInsetsAnimation) when Window Insets animation ends.

void dispatchWindowInsetsAnimationPrepare(WindowInsetsAnimation animation)

Dispatches WindowInsetsAnimation.Callback.onPrepare(WindowInsetsAnimation) when Window Insets animation is being prepared.

WindowInsets dispatchWindowInsetsAnimationProgress(WindowInsets insets, List<WindowInsetsAnimation> runningAnimations)

Dispatches WindowInsetsAnimation.Callback.onProgress(WindowInsets, List) when Window Insets animation makes progress.

WindowInsetsAnimation.Bounds dispatchWindowInsetsAnimationStart(WindowInsetsAnimation animation, WindowInsetsAnimation.Bounds bounds)

Dispatches WindowInsetsAnimation.Callback.onStart(WindowInsetsAnimation, Bounds) when Window Insets animation is started.

void dispatchWindowSystemUiVisiblityChanged(int visible)

This method was deprecated in API level 30. SystemUiVisibility flags are deprecated. Use WindowInsetsController instead.

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.

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.

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

final <T extends View> 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.

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.

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.

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 hasOverlappingRendering() for more details on this behavior).

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 DisplayHash for this view.

static int generateViewId()

Generate a value suitable for use in setId(int).

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 AccessibilityServices that explore the window content.

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 setAllowedHandwritingDelegatePackage(String).

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

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

Map<IntegerInteger> 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 AutofillService determine how to autofill the view with the user's data.

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 AutofillService can create the proper AutofillValue when autofilling the view.

AutofillValue getAutofillValue()

Gets the View's current autofill value.

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 getBottomFadingEdgeStrength()

Returns the strength, or intensity, of the bottom faded edge.

int getBottomPaddingOffset()

Amount by which to extend the bottom fading region.

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 true if successful or false if the view's clip bounds are null.

Rect getClipBounds()

Returns a copy of the current clipBounds.

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 View's content description.

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.

ContextMenu.ContextMenuInfo getContextMenuInfo()

Views should implement this if they have extra information to associate with the context menu.

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.

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

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.

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.

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.

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 style="..." in the AttributeSet's backing XML element or Resources.ID_NULL otherwise if not specified or otherwise not applicable.

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 setFitsSystemWindows(boolean).

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 r to the coordinates of the non-clipped area of this view in the coordinate space of the view's root view.

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.

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

Runnable getHandwritingDelegatorCallback()

Returns the callback set by setHandwritingDelegatorCallback(Runnable) which should be called when a stylus MotionEvent occurs within this view's bounds.

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.

int getHorizontalScrollbarHeight()

Returns the height of the horizontal scrollbar.

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

KeyEvent.DispatcherState getKeyDispatcherState()

Return the global KeyEvent.DispatcherState for this view's window.

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.

float getLeftFadingEdgeStrength()

Returns the strength, or intensity, of the left faded edge.

int getLeftPaddingOffset()

Amount by which to extend the left fading region.

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.

void getLocationInSurface(int[] location)

Gets the coordinates of this view in the coordinate space of the Surface that contains the view.

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 getMeasuredHeightAndState(), but only returns the raw height component (that is the result is masked by MEASURED_SIZE_MASK).

final int getMeasuredHeightAndState()

Return the full height measurement information for this view as computed by the most recent call to measure(int, int).

final int getMeasuredState()

Return only the state bits of getMeasuredWidthAndState() and getMeasuredHeightAndState(), combined into one integer.

final int getMeasuredWidth()

Like getMeasuredWidthAndState(), but only returns the raw width component (that is the result is masked by MEASURED_SIZE_MASK).

final int getMeasuredWidthAndState()

Return the full width measurement information for this view as computed by the most recent call to measure(int, int).

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

int getNextFocusForwardId()

Gets the id of the view to use when the next focus is FOCUS_FORWARD.

int getNextFocusLeftId()

Gets the id of the view to use when the next focus is FOCUS_LEFT.

int getNextFocusRightId()

Gets the id of the view to use when the next focus is FOCUS_RIGHT.

int getNextFocusUpId()

Gets the id of the view to use when the next focus is FOCUS_UP.

View.OnFocusChangeListener getOnFocusChangeListener()

Returns the focus-change callback registered for this view.

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

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<GetCredentialResponseGetCredentialException> getPendingCredentialCallback()

Returns the callback that has previously been set up on this view through the setPendingCredentialRequest(GetCredentialRequest, OutcomeReceiver) API.

final GetCredentialRequest getPendingCredentialRequest()

Returns the GetCredentialRequest associated with the view.

float getPivotX()

The x location of the point around which the view is rotated and scaled.

float getPivotY()

The y location of the point around which the view is rotated and scaled.

PointerIcon getPointerIcon()

Gets the mouse pointer icon for the current view.

final List<Rect> getPreferKeepClearRects()
String[] getReceiveContentMimeTypes()

Returns the MIME types accepted by performReceiveContent(ContentInfo) for this view, as configured via setOnReceiveContentListener(String, OnReceiveContentListener).

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.

float getRightFadingEdgeStrength()

Returns the strength, or intensity, of the right faded edge.

int getRightPaddingOffset()

Amount by which to extend the right fading region.

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 View can be inflated from an XML layout.

final CharSequence getStateDescription()

Returns the View's state description.

StateListAnimator getStateListAnimator()

Returns the current StateListAnimator if exists.

int getSuggestedMinimumHeight()

Returns the suggested minimum height that the view should use.

int getSuggestedMinimumWidth()

Returns the suggested minimum width that the view should use.

CharSequence getSupplementalDescription()

Returns the View's supplemental description.

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 WindowInsetsController instead.

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.

float getTopFadingEdgeStrength()

Returns the strength, or intensity, of the top faded edge.

int getTopPaddingOffset()

Amount by which to extend the top fading region.

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 left position.

float getTranslationY()

The vertical location of this view relative to its top position.

float getTranslationZ()

The depth location of this view relative to its elevation.

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 ViewTranslationResponse associated with this view.

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.

int getWindowAttachCount()
WindowId getWindowId()

Retrieve the WindowId for the window this view is currently attached to.

WindowInsetsController getWindowInsetsController()

Retrieves the single WindowInsetsController of the window this view is attached to.

int getWindowSystemUiVisibility()

This method was deprecated in API level 30. SystemUiVisibility flags are deprecated. Use WindowInsetsController instead.

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 GONE, INVISIBLE, or VISIBLE).

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 hasExplicitFocusable() returns true.

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 hasFocusable() returns true.

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 invalidate().

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().

void invalidateDrawable(Drawable drawable)

Invalidates the specified Drawable.

void invalidateOutline()

Called to rebuild this View's Outline from its outline provider

boolean isAccessibilityDataSensitive()

Whether this view should restrict accessibility service access only to services that have the AccessibilityServiceInfo.isAccessibilityTool() property set to true.

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

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

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()

See setForceDarkAllowed(boolean)

boolean isHandwritingDelegate()

Returns whether this view has been set as a handwriting delegate by setIsHandwritingDelegate(boolean).

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 AssistStructure.ViewNode associated with this view is considered important for autofill purposes.

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.

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 isPaddingOffsetRequired()

If the View draws content inside its padding and enables fading edges, it needs to support padding offsets.

boolean isPaddingRelative()

Return if the padding has been set through relative values setPaddingRelative(int, int, int, int) or through

boolean isPivotSet()

Returns whether or not a pivot has been set by a call to setPivotX(float) or setPivotY(float).

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 onSaveInstanceState() method will be called).

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 true when the View is attached and the system developer setting to show the layout bounds is enabled or false otherwise.

boolean isShown()

Returns the visibility of this view and all of its ancestors

boolean isSoundEffectsEnabled()
final boolean isTemporarilyDetached()

Tells whether the View is in the state between onStartTemporaryDetach() and onFinishTemporaryDetach().

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 Drawable.jumpToCurrentState() on all Drawable objects associated with this view.

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.

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

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.

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.

WindowInsets onApplyWindowInsets(WindowInsets insets)

Called when the view should apply WindowInsets according to its internal policy.

void onAttachedToWindow()

This is called when the view is attached to a window.

void onCancelPendingInputEvents()

Called as the result of a call to cancelPendingInputEvents() on this view or a parent view.

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.

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 Drawable state for this view.

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 ViewTranslationRequest which represents the content to be translated in the view.

void onCreateVirtualViewTranslationRequests(long[] virtualIds, int[] supportedFormats, Consumer<ViewTranslationRequest> requestsCollector)

Collects ViewTranslationRequests which represents the content to be translated for the virtual views in the host view.

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.

boolean onDragEvent(DragEvent event)

Handles drag events sent by the system following a call to startDragAndDrop().

void onDraw(Canvas canvas)

Implement this to do your drawing.

void onDrawForeground(Canvas canvas)

Draw any foreground content for this view.

final void onDrawScrollBars(Canvas canvas)

Request the drawing of the horizontal and the vertical scrollbar.

boolean onFilterTouchEventForSecurity(MotionEvent event)

Filter the touch event to apply security policies.

void onFinishInflate()

Finalize inflating a view from XML.

void onFinishTemporaryDetach()

Called after onStartTemporaryDetach() when the container is done changing the view.

void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect)

Called by the view system when the focus state of this view changes.

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 AccessibilityEvent with information about this View which is the event source.

void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)

Initializes an AccessibilityNodeInfo with information about this view.

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.

boolean onKeyLongPress(int keyCode, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyLongPress(): always returns false (doesn't handle the event).

boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)

Default implementation of KeyEvent.Callback.onKeyMultiple(): always returns false (doesn't handle the event).

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 KeyEvent.Callback.onKeyUp(): perform clicking of the view when KeyEvent.KEYCODE_DPAD_CENTER, KeyEvent.KEYCODE_ENTER or KeyEvent.KEYCODE_SPACE is released.

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 overScrollBy(int, int, int, int, int, int, int, int, boolean) to respond to the results of an over-scroll operation.

void onPointerCaptureChange(boolean hasCapture)

Called when the window has just acquired or lost pointer capture.

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.

void onProvideAutofillStructure(ViewStructure structure, int flags)

Populates a ViewStructure to fullfil an autofill request.

void onProvideAutofillVirtualStructure(ViewStructure structure, int flags)

Populates a ViewStructure containing virtual children to fullfil an autofill request.

void onProvideContentCaptureStructure(ViewStructure structure, int flags)

Populates a ViewStructure for content capture.

void onProvideStructure(ViewStructure structure)

Called when assist structure is being retrieved from a view as part of Activity.onProvideAssistData.

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.

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 onRestoreInstanceState(Parcelable state)

Hook allowing a view to re-apply a representation of its internal state that had previously been generated by onSaveInstanceState().

void onRtlPropertiesChanged(int layoutDirection)

Called when any RTL property (layout direction or text direction or text alignment) has been changed.

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 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 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 onStartTemporaryDetach()

This is called when a container is going to temporarily detach a child, with ViewGroup.detachViewFromParent.

boolean onTouchEvent(MotionEvent event)

Implement this method to handle pointer events.

boolean onTrackballEvent(MotionEvent event)

Implement this method to handle trackball motion events.

void onViewTranslationResponse(ViewTranslationResponse response)

Called when the content from View.onCreateViewTranslationRequest had been translated by the TranslationService.

void onVirtualViewTranslationResponses(LongSparseArray<ViewTranslationResponse> response)

Called when the content from View.onCreateVirtualViewTranslationRequests had been translated by the TranslationService.

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 onVisibilityChanged(View changedView, int visibility)

Called when the visibility of the view or an ancestor of the view has changed.

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 WindowInsetsController instead.

void onWindowVisibilityChanged(int visibility)

Called when the window containing has change its visibility (between GONE, INVISIBLE, and VISIBLE).

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.

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 performHapticFeedback(int), with additional options.

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

void requestApplyInsets()

Ask that a new dispatch of onApplyWindowInsets(android.view.WindowInsets) be performed.

void requestFitSystemWindows()

This method was deprecated in API level 20. Use requestApplyInsets() for newer platform versions.

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 getId(), or throws an IllegalArgumentException if the ID is invalid or there is no matching view in the hierarchy.

void resetPivot()

Clears any pivot previously set by a call to setPivotX(float) or setPivotY(float).

static int resolveSize(int size, int measureSpec)

Version of resolveSizeAndState(int, int, int) returning only the MEASURED_SIZE_MASK bits of the result.

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 sendAccessibilityEvent(int) but takes as an argument an empty AccessibilityEvent and does not perform a check whether accessibility is enabled.

void setAccessibilityDataSensitive(int accessibilityDataSensitive)

Specifies whether this view should only allow interactions from AccessibilityServices with the AccessibilityServiceInfo.isAccessibilityTool() property set to true.

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 AutofillService determine how to autofill the view with the user's data.

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 setBackground(android.graphics.drawable.Drawable) instead

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 setBackgroundTintList(android.content.res.ColorStateList)} to the background drawable.

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 setBackgroundTintList(android.content.res.ColorStateList)} to the background drawable.

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) ContentCaptureSession associated with this view.

void setContentDescription(CharSequence contentDescription)

Sets the View's content description.

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 R.attr.state_focused defined in its background.

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.

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.

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.

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 fitSystemWindows(android.graphics.Rect) will be executed.

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 setForegroundTintList(android.content.res.ColorStateList)} to the background drawable.

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 setForegroundTintList(android.content.res.ColorStateList)} to the background drawable.

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 MotionEvent occurs within this view's bounds.

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

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 Paint object used with the current layer (used only if the current layer type is not set to LAYER_TYPE_NONE).

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.

final void setMeasuredDimension(int measuredWidth, int measuredHeight)

This method must be called by onMeasure(int, int) to store the measured width and measured height.

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

void setNextFocusForwardId(int nextFocusForwardId)

Sets the id of the view to use when the next focus is FOCUS_FORWARD.

void setNextFocusLeftId(int nextFocusLeftId)

Sets the id of the view to use when the next focus is FOCUS_LEFT.

void setNextFocusRightId(int nextFocusRightId)

Sets the id of the view to use when the next focus is FOCUS_RIGHT.

void setNextFocusUpId(int nextFocusUpId)

Sets the id of the view to use when the next focus is FOCUS_UP.

void setOnApplyWindowInsetsListener(View.OnApplyWindowInsetsListener listener)

Set an OnApplyWindowInsetsListener to take over the policy for applying window insets to this view.

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 used to handle insertion of content into this view.

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 WindowInsets.isVisible(int) to find out about system bar visibilities by setting a OnApplyWindowInsetsListener on this view.

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 ViewOutlineProvider of the view, which generates the Outline that defines the shape of the shadow it casts, and enables outline clipping.

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<GetCredentialResponseGetCredentialException> callback)

Sets a CredentialManager request to retrieve credentials, when the user focuses on this given view.

void setPivotX(float pivotX)

Sets the x location of the point around which the view is rotated and scaled.

void setPivotY(float pivotY)

Sets the y location of the point around which the view is rotated and scaled.

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 RenderEffect to apply to this View.

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 onSaveInstanceState() method will be called).

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 View's state description.

void setStateListAnimator(StateListAnimator stateListAnimator)

Attaches the provided StateListAnimator to this View.

void setSupplementalDescription(CharSequence supplementalDescription)

Sets the View's supplemental description.

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 WindowInsetsController instead.

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 left position.

void setTranslationY(float translationY)

Sets the vertical location of this view relative to its top position.

void setTranslationZ(float translationZ)

Sets the depth location of this view relative to its elevation.

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 ViewTranslationCallback that is used to display/hide the translated information.

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

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 WindowInsetsAnimation.Callback to be notified about animations of windows that cause insets.

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 ActionMode.TYPE_PRIMARY.

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 startDragAndDrop() for newer platform versions.

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

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.

boolean willNotDraw()

Returns whether or not this View draws on its own.

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

abstract void sendAccessibilityEvent(int eventType)

Handles the request for sending an AccessibilityEvent given the event type.

abstract void sendAccessibilityEventUnchecked(AccessibilityEvent event)

Handles the request for sending an AccessibilityEvent.

abstract void invalidateDrawable(Drawable who)

Called when the drawable needs to be redrawn.

abstract void scheduleDrawable(Drawable who, Runnable what, long when)

A Drawable can call this to schedule the next frame of its animation.

abstract void unscheduleDrawable(Drawable who, Runnable what)

A Drawable can call this to unschedule an action previously scheduled with scheduleDrawable(Drawable, Runnable, long).

abstract boolean onKeyDown(int keyCode, KeyEvent event)

Called when a key down event has occurred.

abstract boolean onKeyLongPress(int keyCode, KeyEvent event)

Called when a long press has occurred.

abstract boolean onKeyMultiple(int keyCode, int count, KeyEvent event)

Called when a user's interaction with an analog control, such as flinging a trackball, generates simulated down/up events for the same key multiple times in quick succession.

abstract boolean onKeyUp(int keyCode, KeyEvent event)

Called when a key up event has occurred.

abstract void addView(View view, ViewGroup.LayoutParams params)

Assign the passed LayoutParams to the passed View and add the view to the window.

abstract void removeView(View view)
abstract void updateViewLayout(View view, ViewGroup.LayoutParams params)
abstract void bringChildToFront(View child)

Change the z order of the child so it's on top of all other children.

abstract boolean canResolveLayoutDirection()

Tells if this view parent can resolve the layout direction.

abstract boolean canResolveTextAlignment()

Tells if this view parent can resolve the text alignment.

abstract boolean canResolveTextDirection()

Tells if this view parent can resolve the text direction.

abstract void childDrawableStateChanged(View child)

This method is called on the parent when a child's drawable state has changed.

abstract void childHasTransientStateChanged(View child, boolean hasTransientState)

Called when a child view now has or no longer is tracking transient state.

abstract void clearChildFocus(View child)

Called when a child of this parent is giving up focus

abstract void createContextMenu(ContextMenu menu)

Have the parent populate the specified context menu if it has anything to add (and then recurse on its parent).

default OnBackInvokedDispatcher findOnBackInvokedDispatcherForChild(View child, View requester)

Walk up the View hierarchy to find the nearest OnBackInvokedDispatcher.

abstract View focusSearch(View v, int direction)

Find the nearest view in the specified direction that wants to take focus

abstract void focusableViewAvailable(View v)

Tells the parent that a new focusable view has become available.

abstract boolean getChildVisibleRect(View child, Rect r, Point offset)

Compute the visible part of a rectangular region defined in terms of a child view's coordinates.

abstract int getLayoutDirection()

Return this view parent layout direction.

abstract ViewParent getParent()

Returns the parent if it exists, or null.

abstract ViewParent getParentForAccessibility()

Gets the parent of a given View for accessibility.

abstract int getTextAlignment()

Return this view parent text alignment.

abstract int getTextDirection()

Return this view parent text direction.

abstract void invalidateChild(View child, Rect r)

This method was deprecated in API level 26. Use onDescendantInvalidated(android.view.View, android.view.View) instead.

abstract ViewParent invalidateChildInParent(int[] location, Rect r)

This method was deprecated in API level 26. Use onDescendantInvalidated(android.view.View, android.view.View) instead.

abstract boolean isLayoutDirectionResolved()

Tells if this view parent layout direction is resolved.

abstract boolean isLayoutRequested()

Indicates whether layout was requested on this view parent.

abstract boolean isTextAlignmentResolved()

Tells if this view parent text alignment is resolved.

abstract boolean isTextDirectionResolved()

Tells if this view parent text direction is resolved.

abstract View keyboardNavigationClusterSearch(View currentCluster, int direction)

Find the nearest keyboard navigation cluster in the specified direction.

abstract void notifySubtreeAccessibilityStateChanged(View child, View source, int changeType)

Notifies a view parent that the accessibility state of one of its descendants has changed and that the structure of the subtree is different.

default void onDescendantInvalidated(View child, View target)

The target View has been invalidated, or has had a drawing property changed that requires the hierarchy to re-render.

abstract boolean onNestedFling(View target, float velocityX, float velocityY, boolean consumed)

Request a fling from a nested scroll.

abstract boolean onNestedPreFling(View target, float velocityX, float velocityY)

React to a nested fling before the target view consumes it.

abstract boolean onNestedPrePerformAccessibilityAction(View target, int action, Bundle arguments)

React to an accessibility action delegated by a target descendant view before the target processes it.

abstract void onNestedPreScroll(View target, int dx, int dy, int[] consumed)

React to a nested scroll in progress before the target view consumes a portion of the scroll.

abstract void onNestedScroll(View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed)

React to a nested scroll in progress.

abstract void onNestedScrollAccepted(View child, View target, int nestedScrollAxes)

React to the successful claiming of a nested scroll operation.

abstract boolean onStartNestedScroll(View child, View target, int nestedScrollAxes)

React to a descendant view initiating a nestable scroll operation, claiming the nested scroll operation if appropriate.

abstract void onStopNestedScroll(View target)

React to a nested scroll operation ending.

abstract void recomputeViewAttributes(View child)

Tell view hierarchy that the global view attributes need to be re-evaluated.

abstract void requestChildFocus(View child, View focused)

Called when a child of this parent wants focus

abstract boolean requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate)

Called when a child of this group wants a particular rectangle to be positioned onto the screen.

abstract void requestDisallowInterceptTouchEvent(boolean disallowIntercept)

Called when a child does not want this parent and its ancestors to intercept touch events with ViewGroup.onInterceptTouchEvent(MotionEvent).

abstract void requestFitSystemWindows()

Ask that a new dispatch of View.fitSystemWindows(Rect) be performed.

abstract void requestLayout()

Called when something has changed which has invalidated the layout of a child of this view parent.

abstract boolean requestSendAccessibilityEvent(View child, AccessibilityEvent event)

Called by a child to request from its parent to send an AccessibilityEvent.

abstract void requestTransparentRegion(View child)

Called when a child wants the view hierarchy to gather and report transparent regions to the window compositor.

abstract boolean showContextMenuForChild(View originalView)

Shows the context menu for the specified view or its ancestors.

abstract boolean showContextMenuForChild(View originalView, float x, float y)

Shows the context menu for the specified view or its ancestors anchored to the specified view-relative coordinate.

abstract ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback, int type)

Start an action mode of a specific type for the specified view.

abstract ActionMode startActionModeForChild(View originalView, ActionMode.Callback callback)

Start an action mode for the specified view with the default type ActionMode.TYPE_PRIMARY.

XML attributes

android:addStatesFromChildren

Sets whether this ViewGroup's drawable states also include its children's drawable states. This is used, for example, to make a group appear to be focused when its child EditText or button is focused.

May be a boolean value, such as "true" or "false".

android:alwaysDrawnWithCache

Defines whether the ViewGroup should always draw its children using their drawing cache or not. The default value is true. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11.

May be a boolean value, such as "true" or "false".

android:animateLayoutChanges

Defines whether changes in layout (caused by adding and removing items) should cause a LayoutTransition to run. When this flag is set to true, a default LayoutTransition object will be set on the ViewGroup container and default animations will run when these layout changes occur.

May be a boolean value, such as "true" or "false".

Related methods:

android:animationCache

Defines whether layout animations should create a drawing cache for their children. Enabling the animation cache consumes more memory and requires a longer initialization but provides better performance. The animation cache is enabled by default.

May be a boolean value, such as "true" or "false".

android:clipChildren

Defines whether a child is limited to draw inside of its bounds or not. This is useful with animations that scale the size of the children to more than 100% for instance. In such a case, this property should be set to false to allow the children to draw outside of their bounds. The default value of this property is true.

May be a boolean value, such as "true" or "false".

Related methods:

android:clipToPadding

Defines whether the ViewGroup will clip its children and resize (but not clip) any EdgeEffect to its padding, if padding is not zero. This property is set to true by default.

May be a boolean value, such as "true" or "false".

Related methods:

android:descendantFocusability

Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.

Must be one of the following constant values.

ConstantValueDescription
afterDescendants1The ViewGroup will get focus only if none of its descendants want it.
beforeDescendants0The ViewGroup will get focus before any of its descendants.
blocksDescendants2The ViewGroup will block its descendants from receiving focus.

android:layoutAnimation

Defines the layout animation to use the first time the ViewGroup is laid out. Layout animations can also be started manually after the first layout.

May be a reference to another resource, in the form "@[+][package:]type/name" or a theme attribute in the form "?[package:]type/name".

android:layoutMode

Defines the layout mode of this ViewGroup.

Must be one of the following constant values.

ConstantValueDescription
clipBounds0Use the children's clip bounds when laying out this container.
opticalBounds1Use the children's optical bounds when laying out this container.

Related methods:

android:persistentDrawingCache

Defines the persistence of the drawing cache. The drawing cache might be enabled by a ViewGroup for all its children in specific situations (for instance during a scrolling.) This property lets you persist the cache in memory after its initial usage. Persisting the cache consumes more memory but may prevent frequent garbage collection if the cache is created over and over again. By default the persistence is set to scrolling. Deprecated: The view drawing cache was largely made obsolete with the introduction of hardware-accelerated rendering in API 11.

Must be one or more (separated by '|') of the following constant values.

ConstantValueDescription
all3The drawing cache is always persisted.
animation1The drawing cache is persisted after a layout animation.
none0The drawing cache is not persisted after use.
scrolling2The drawing cache is persisted after a scroll.

android:splitMotionEvents

Sets whether this ViewGroup should split MotionEvents to separate child views during touch event dispatch. If false (default prior to HONEYCOMB), touch events will be dispatched to the child view where the first pointer went down until the last pointer goes up. If true (default for HONEYCOMB and later), touch events may be dispatched to multiple children. MotionEvents for each pointer will be dispatched to the child view where the initial ACTION_DOWN event happened. See ViewGroup.setMotionEventSplittingEnabled(boolean) for more information.

May be a boolean value, such as "true" or "false".

Related methods:

Constants

CLIP_TO_PADDING_MASK

Added in API level 1
protected static final int CLIP_TO_PADDING_MASK

We clip to padding when FLAG_CLIP_TO_PADDING and FLAG_PADDING_NOT_NULL are set at the same time.

Constant Value: 34 (0x00000022)

FOCUS_AFTER_DESCENDANTS

Added in API level 1
public static final int FOCUS_AFTER_DESCENDANTS

This view will get focus only if none of its descendants want it.

Constant Value: 262144 (0x00040000)

FOCUS_BEFORE_DESCENDANTS

Added in API level 1
public static final int FOCUS_BEFORE_DESCENDANTS

This view will get focus before any of its descendants.

Constant Value: 131072 (0x00020000)

FOCUS_BLOCK_DESCENDANTS

Added in API level 1
public static final int FOCUS_BLOCK_DESCENDANTS

This view will block any of its descendants from getting focus, even if they are focusable.

Constant Value: 393216 (0x00060000)

LAYOUT_MODE_CLIP_BOUNDS

Added in API level 18
public static final int LAYOUT_MODE_CLIP_BOUNDS

This constant is a layoutMode. Clip bounds are the raw values of left, top, right and bottom.

Constant Value: 0 (0x00000000)

LAYOUT_MODE_OPTICAL_BOUNDS

Added in API level 18
public static final int LAYOUT_MODE_OPTICAL_BOUNDS

This constant is a layoutMode. Optical bounds describe where a widget appears to be. They sit inside the clip bounds which need to cover a larger area to allow other effects, such as shadows and glows, to be drawn.

Constant Value: 1 (0x00000001)

PERSISTENT_ALL_CACHES

Added in API level 1
Deprecated in API level 28
public static final int PERSISTENT_ALL_CACHES

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, View.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 View.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.

Used to indicate that all drawing caches should be kept in memory.

Constant Value: 3 (0x00000003)

PERSISTENT_ANIMATION_CACHE

Added in API level 1
Deprecated in API level 28
public static final int PERSISTENT_ANIMATION_CACHE

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, View.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 View.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.

Used to indicate that the animation drawing cache should be kept in memory.

Constant Value: 1 (0x00000001)

PERSISTENT_NO_CACHE

Added in API level 1
Deprecated in API level 28
public static final int PERSISTENT_NO_CACHE

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, View.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 View.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.

Used to indicate that no drawing cache should be kept in memory.

Constant Value: 0 (0x00000000)

PERSISTENT_SCROLLING_CACHE

Added in API level 1
Deprecated in API level 28
public static final int PERSISTENT_SCROLLING_CACHE

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, View.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 View.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.

Used to indicate that the scrolling drawing cache should be kept in memory.

Constant Value: 2 (0x00000002)

Public constructors

ViewGroup

Added in API level 1
public ViewGroup (Context context)

Parameters
context Context

ViewGroup

Added in API level 1
public ViewGroup (Context context, 
                AttributeSet attrs)

Parameters
context Context

attrs AttributeSet

ViewGroup

Added in API level 1
public ViewGroup (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context

attrs AttributeSet

defStyleAttr int

ViewGroup

Added in API level 21
public ViewGroup (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

Parameters
context Context

attrs AttributeSet

defStyleAttr int

defStyleRes int

Public methods

addChildrenForAccessibility

Added in API level 16
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

Added in API level 26
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

Added in API level 4
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 View.FOCUS_BACKWARD, View.FOCUS_FORWARD, View.FOCUS_LEFT, View.FOCUS_UP, View.FOCUS_RIGHT, or View.FOCUS_DOWN

focusableMode int: The type of focusables to be added. Value is either 0 or a combination of View.FOCUSABLES_ALL, and View.FOCUSABLES_TOUCH_MODE

addKeyboardNavigationClusters

Added in API level 26
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

addStatesFromChildren

Added in API level 1
public boolean addStatesFromChildren ()

Returns whether this ViewGroup's drawable states also include its children's drawable states. This is used, for example, to make a group appear to be focused when its child EditText or button is focused.

Returns
boolean

addTouchables

Added in API level 1
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

addView

Added in API level 1
public void addView (View child, 
                ViewGroup.LayoutParams params)

Adds a child view with the specified layout parameters.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
child View: the child view to add

params ViewGroup.LayoutParams: the layout parameters to set on the child

addView

Added in API level 1
public void addView (View child, 
                int index)

Adds a child view. If no layout parameters are already set on the child, the default parameters for this ViewGroup are set on the child.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
child View: the child view to add

index int: the position at which to add the child

addView

Added in API level 1
public void addView (View child, 
                int index, 
                ViewGroup.LayoutParams params)

Adds a child view with the specified layout parameters.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
child View: the child view to add

index int: the position at which to add the child or -1 to add last

params ViewGroup.LayoutParams: the layout parameters to set on the child

addView

Added in API level 1
public void addView (View child)

Adds a child view. If no layout parameters are already set on the child, the default parameters for this ViewGroup are set on the child.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
child View: the child view to add

addView

Added in API level 1
public void addView (View child, 
                int width, 
                int height)

Adds a child view with this ViewGroup's default layout parameters and the specified width and height.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
child View: the child view to add

width int

height int

bringChildToFront

Added in API level 1
public void bringChildToFront (View child)

Change the z order of the child so it's on top of all other children. This ordering change may affect layout, if this 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 this parent to force the parent to redraw with the new child ordering.

Parameters
child View: The child to bring to the top of the z order

childDrawableStateChanged

Added in API level 1
public void childDrawableStateChanged (View child)

If addStatesFromChildren() is true, refreshes this group's drawable state (to include the states from its children).

Parameters
child View: The child whose drawable state has changed. This value cannot be null.

childHasTransientStateChanged

Added in API level 19
public void childHasTransientStateChanged (View child, 
                boolean childHasTransientState)

Called when a child view has changed whether or not it is tracking transient state.

Parameters
child View: Child view whose state has changed This value cannot be null.

childHasTransientState boolean: true if this child has transient state

clearChildFocus

Added in API level 1
public void clearChildFocus (View child)

Called when a child of this parent is giving up focus

Parameters
child View: The view that is giving up focus

clearDisappearingChildren

Added in API level 1
public void clearDisappearingChildren ()

Removes any pending animations for views that have been removed. Call this if you don't want animations for exiting views to stack up.

clearFocus

Added in API level 1
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.

dispatchApplyWindowInsets

Added in API level 20
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

Added in API level 26
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

Added in API level 8
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

Added in API level 31
public void dispatchCreateViewTranslationRequest (Map<AutofillId, long[]> viewIds, 
                int[] supportedFormats, 
                TranslationCapability capability, 
                List<ViewTranslationRequest> requests)

Dispatch to collect the ViewTranslationRequests 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 ViewTranslationRequests and create a Translator to translate the requests. All the ViewTranslationRequests 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.

The implementation calls dispatchCreateViewTranslationRequest(Map, int, TranslationCapability, List) for all the child views.

Parameters
viewIds Map: This value cannot be null.

supportedFormats int: This value cannot be null. Value is TranslationSpec.DATA_FORMAT_TEXT

capability TranslationCapability: This value may be null.

requests List: This value cannot be null.

dispatchDisplayHint

Added in API level 8
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: View.VISIBLE or View.INVISIBLE. Value is View.VISIBLE, View.INVISIBLE, or View.GONE

dispatchDragEvent

Added in API level 11
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

Added in API level 22
public void dispatchDrawableHotspotChanged (float x, 
                float y)

Dispatches drawable hotspot changes to child views that meet at least one of the following criteria:

Parameters
x float: hotspot x coordinate

y float: hotspot y coordinate

dispatchKeyEvent

Added in API level 1
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

Added in API level 3
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

Added in API level 1
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.

dispatchPointerCaptureChanged

Added in API level 26
public void dispatchPointerCaptureChanged (boolean hasCapture)

Parameters
hasCapture boolean

dispatchProvideAutofillStructure

Added in API level 26
public void dispatchProvideAutofillStructure (ViewStructure structure, 
                int flags)

Dispatches creation of a ViewStructures 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:

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 the AutofillId in the structure (for example, by calling structure.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 what isImportantForAutofill() 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.

This implementation adds in all child views of the view group, in addition to calling the default View implementation.

Parameters
structure ViewStructure: fill in with structured view data for autofill purposes. This value cannot be null.

flags int: Value is either 0 or View.AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS

dispatchProvideStructure

Added in API level 23
public void dispatchProvideStructure (ViewStructure structure)

Dispatch creation of ViewStructure down the hierarchy. This implementation adds in all child views of the view group, in addition to calling the default View implementation.

Parameters
structure ViewStructure

dispatchScrollCaptureSearch

Added in API level 31
public void dispatchScrollCaptureSearch (Rect localVisibleRect, 
                Point windowOffset, 
                Consumer<ScrollCaptureTarget> targets)

Handle the scroll capture search request by checking this view if applicable, then to each child view.

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.

dispatchSetActivated

Added in API level 11
public void dispatchSetActivated (boolean activated)

Dispatch setActivated to all of this View's children.

Parameters
activated boolean: The new activated state

dispatchSetSelected

Added in API level 1
public void dispatchSetSelected (boolean selected)

Dispatch setSelected to all of this View's children.

Parameters
selected boolean: The new selected state

dispatchSystemUiVisibilityChanged

Added in API level 11
public void dispatchSystemUiVisibilityChanged (int visible)

This method is deprecated.
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
visible int

dispatchTouchEvent

Added in API level 1
public boolean dispatchTouchEvent (MotionEvent ev)

Pass the touch screen motion event down to the target view, or this view if it is the target.

Parameters
ev MotionEvent: The motion event to be dispatched.

Returns
boolean True if the event was handled by the view, false otherwise.

dispatchTrackballEvent

Added in API level 1
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.

dispatchUnhandledMove

Added in API level 1
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 View.FOCUS_LEFT, View.FOCUS_UP, View.FOCUS_RIGHT, or View.FOCUS_DOWN

Returns
boolean True if the this view consumed this unhandled move.

dispatchWindowFocusChanged

Added in API level 1
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

Added in API level 30
public void dispatchWindowInsetsAnimationEnd (WindowInsetsAnimation animation)

Dispatches WindowInsetsAnimation.Callback.onEnd(WindowInsetsAnimation) when Window Insets animation ends.

Parameters
animation WindowInsetsAnimation: This value cannot be null.

dispatchWindowInsetsAnimationPrepare

Added in API level 30
public void dispatchWindowInsetsAnimationPrepare (WindowInsetsAnimation animation)

Dispatches WindowInsetsAnimation.Callback.onPrepare(WindowInsetsAnimation) when Window Insets animation is being prepared.

Parameters
animation WindowInsetsAnimation: This value cannot be null.

dispatchWindowInsetsAnimationProgress

Added in API level 30
public WindowInsets dispatchWindowInsetsAnimationProgress (WindowInsets insets, 
                List<WindowInsetsAnimation> runningAnimations)

Dispatches WindowInsetsAnimation.Callback.onProgress(WindowInsets, List) when Window Insets animation makes progress.

Parameters
insets WindowInsets: This value cannot be null.

runningAnimations List: This value cannot be null.

Returns
WindowInsets This value cannot be null.

dispatchWindowInsetsAnimationStart

Added in API level 30
public WindowInsetsAnimation.Bounds dispatchWindowInsetsAnimationStart (WindowInsetsAnimation animation, 
                WindowInsetsAnimation.Bounds bounds)

Dispatches WindowInsetsAnimation.Callback.onStart(WindowInsetsAnimation, Bounds) when Window Insets animation is started.

Parameters
animation WindowInsetsAnimation: This value cannot be null.

bounds WindowInsetsAnimation.Bounds: This value cannot be null.

Returns
WindowInsetsAnimation.Bounds This value cannot be null.

dispatchWindowSystemUiVisiblityChanged

Added in API level 16
public void dispatchWindowSystemUiVisiblityChanged (int visible)

This method is deprecated.
SystemUiVisibility flags are deprecated. Use WindowInsetsController instead.

Dispatch callbacks to onWindowSystemUiVisibilityChanged(int) down the view hierarchy.

Parameters
visible int

dispatchWindowVisibilityChanged

Added in API level 1
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 View.VISIBLE, View.INVISIBLE, or View.GONE

endViewTransition

Added in API level 11
public void endViewTransition (View view)

This method should always be called following an earlier call to startViewTransition(android.view.View). The given View is finally removed from its parent and will no longer be displayed. Note that this method does not perform the functionality of removing a view from its parent; it just discontinues the display of a View that has previously been removed.

Parameters
view View

Returns
void view The View object that has been removed but is being kept around in the visible hierarchy by an earlier call to startViewTransition(android.view.View).

findFocus

Added in API level 1
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.

findOnBackInvokedDispatcherForChild

Added in API level 33
public OnBackInvokedDispatcher findOnBackInvokedDispatcherForChild (View child, 
                View requester)

Walk up the View hierarchy to find the nearest OnBackInvokedDispatcher.

Parameters
child View: The direct child of this view for which to find a dispatcher. This value cannot be null.

requester View: The requester that will use the dispatcher. Can be the same as child. This value cannot be null.

Returns
OnBackInvokedDispatcher The OnBackInvokedDispatcher from this or the nearest ancestor, or null if the view is both not attached and have no ancestor providing an OnBackInvokedDispatcher.

findViewsWithText

Added in API level 14
public void findViewsWithText (ArrayList<View> outViews, 
                CharSequence text, 
                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.

text CharSequence: The text to match against.

flags int: Value is either 0 or a combination of View.FIND_VIEWS_WITH_TEXT, and View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION

focusSearch

Added in API level 1
public View focusSearch (View focused, 
                int direction)

Find the nearest view in the specified direction that wants to take focus.

Parameters
focused View: The view that currently has focus

direction int: One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT, or 0 for not applicable.

Returns
View

focusableViewAvailable

Added in API level 1
public void focusableViewAvailable (View v)

Tells the parent that a new focusable view has become available. This is to handle transitions from the case where there are no focusable views to the case where the first focusable view appears.

Parameters
v View: The view that has become newly focusable

gatherTransparentRegion

Added in API level 1
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.

generateLayoutParams

Added in API level 1
public ViewGroup.LayoutParams generateLayoutParams (AttributeSet attrs)

Returns a new set of layout parameters based on the supplied attributes set.

Parameters
attrs AttributeSet: the attributes to build the layout parameters from

Returns
ViewGroup.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

getAccessibilityClassName

Added in API level 23
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

getChildAt

Added in API level 1
public View getChildAt (int index)

Returns the view at the specified position in the group.

Parameters
index int: the position at which to get the view from

Returns
View the view at the specified position or null if the position does not exist within the group

getChildCount

Added in API level 1
public int getChildCount ()

Returns the number of children in the group.

Returns
int a positive integer representing the number of children in the group

getChildDrawingOrder

Added in API level 29
public final int getChildDrawingOrder (int drawingPosition)

Converts drawing order position to container position.

Children are not necessarily drawn in the order in which they appear in the container. ViewGroups can enable a custom ordering via setChildrenDrawingOrderEnabled(boolean). This method returns the container position of a child that appears in the given position in the current drawing order.

Parameters
drawingPosition int: the drawing order position.

Returns
int the container position of a child for this drawing order position.

getChildMeasureSpec

Added in API level 1
public static int getChildMeasureSpec (int spec, 
                int padding, 
                int childDimension)

Does the hard part of measureChildren: figuring out the MeasureSpec to pass to a particular child. This method figures out the right MeasureSpec for one dimension (height or width) of one child view. The goal is to combine information from our MeasureSpec with the LayoutParams of the child to get the best possible results. For example, if the this view knows its size (because its MeasureSpec has a mode of EXACTLY), and the child has indicated in its LayoutParams that it wants to be the same size as the parent, the parent should ask the child to layout given an exact size.

Parameters
spec int: The requirements for this view

padding int: The padding of this view for the current dimension and margins, if applicable

childDimension int: How big the child wants to be in the current dimension

Returns
int a MeasureSpec integer for the child

getChildVisibleRect

Added in API level 1
public boolean getChildVisibleRect (View child, 
                Rect r, 
                Point offset)

Compute the visible part of a rectangular region defined in terms of a child view's coordinates.

Returns the clipped visible part of the rectangle r, defined in the child's local coordinate system. r is modified by this method to contain the result, expressed in the global (root) coordinate system.

The resulting rectangle is always axis aligned. If a rotation is applied to a node in the View hierarchy, the result is the axis-aligned bounding box of the visible rectangle.

Parameters
child View: A child View, whose rectangular visible region we want to compute

r Rect: The input rectangle, defined in the child coordinate system. Will be overwritten to contain the resulting visible rectangle, expressed in global (root) coordinates

offset Point: The input coordinates of a point, defined in the child coordinate system. As with the r parameter, this will be overwritten to contain the global (root) coordinates of that point. A null value is valid (in case you are not interested in this result)

Returns
boolean true if the resulting rectangle is not empty, false otherwise

getClipChildren

Added in API level 18
public boolean getClipChildren ()

Returns whether this group's children are clipped to their bounds before drawing. The default value is true.

Returns
boolean True if the group's children will be clipped to their bounds, false otherwise.

getClipToPadding

Added in API level 21
public boolean getClipToPadding ()

Returns whether this ViewGroup will clip its children to its padding, and resize (but not clip) any EdgeEffect to the padded region, if padding is present.

By default, children are clipped to the padding of their parent Viewgroup. This clipping behavior is only enabled if padding is non-zero.

Related XML Attributes:

Returns
boolean true if this ViewGroup clips children to its padding and resizes (but doesn't clip) any EdgeEffect to the padded region, false otherwise.

getDescendantFocusability

Added in API level 1
public int getDescendantFocusability ()

Gets the descendant focusability of this view group. The descendant focusability defines the relationship between this view group and its descendants when looking for a view to take focus in requestFocus(int, android.graphics.Rect).

getFocusedChild

Added in API level 1
public View getFocusedChild ()

Returns the focused child of this view, if any. The child may have focus or contain focus.

Returns
View the focused child or null.

getLayoutAnimation

Added in API level 1
public LayoutAnimationController getLayoutAnimation ()

Returns the layout animation controller used to animate the group's children.

Returns
LayoutAnimationController the current animation controller

getLayoutAnimationListener

Added in API level 1
public Animation.AnimationListener getLayoutAnimationListener ()

Returns the animation listener to which layout animation events are sent.

getLayoutMode

Added in API level 18
public int getLayoutMode ()

Returns the basis of alignment during layout operations on this ViewGroup: either LAYOUT_MODE_CLIP_BOUNDS or LAYOUT_MODE_OPTICAL_BOUNDS.

If no layoutMode was explicitly set, either programmatically or in an XML resource, the method returns the layoutMode of the view's parent ViewGroup if such a parent exists, otherwise the method returns a default value of LAYOUT_MODE_CLIP_BOUNDS.

Returns
int the layout mode to use during layout operations

See also:

getLayoutTransition

Added in API level 11
public LayoutTransition getLayoutTransition ()

Gets the LayoutTransition object for this ViewGroup. If the LayoutTransition object is not null, changes in layout which occur because of children being added to or removed from the ViewGroup will be animated according to the animations defined in that LayoutTransition object. By default, the transition object is null (so layout changes are not animated).

Returns
LayoutTransition LayoutTranstion The LayoutTransition object that will animated changes in layout. A value of null means no transition will run on layout changes.

getNestedScrollAxes

Added in API level 21
public int getNestedScrollAxes ()

Return the current axes of nested scrolling for this ViewGroup.

A ViewGroup returning something other than View.SCROLL_AXIS_NONE is currently acting as a nested scrolling parent for one or more descendant views in the hierarchy.

Returns
int Flags indicating the current axes of nested scrolling

getOverlay

Added in API level 18
public ViewGroupOverlay getOverlay ()

Returns the ViewGroupOverlay for this view group, creating it if it does not yet exist. In addition to ViewOverlay's support for drawables, ViewGroupOverlay allows views to be added to the overlay. These views, like overlay drawables, are visual-only; they do not receive input events and should not be used as anything other than a temporary representation of a view in a parent container, such as might be used by an animation effect.

Note: Overlays do not currently work correctly with SurfaceView or TextureView; contents in overlays for these types of views may not display correctly.

Returns
ViewGroupOverlay The ViewGroupOverlay object for this view.

See also:

getPersistentDrawingCache

Added in API level 1
Deprecated in API level 28
public int getPersistentDrawingCache ()

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, View.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 View.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 an integer indicating what types of drawing caches are kept in memory.

getTouchscreenBlocksFocus

Added in API level 21
public boolean getTouchscreenBlocksFocus ()

Check whether this ViewGroup should ignore focus requests for itself and its children.

Returns
boolean

hasFocus

Added in API level 1
public boolean hasFocus ()

Returns true if this view has or contains focus

Returns
boolean true if this view has or contains focus

hasTransientState

Added in API level 16
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

indexOfChild

Added in API level 1
public int indexOfChild (View child)

Returns the position in the group of the specified child view.

Parameters
child View: the view for which to get the position

Returns
int a positive integer representing the position of the view in the group, or -1 if the view does not exist in the group

invalidateChild

Added in API level 1
public final void invalidateChild (View child, 
                Rect dirty)

This method is deprecated.
Use onDescendantInvalidated(android.view.View, android.view.View) instead to observe updates to draw state in descendants.

Don't call or override this method. It is used for the implementation of the view hierarchy.

Parameters
child View: The child which is dirty

dirty Rect: The area within the child that is invalid

invalidateChildInParent

Added in API level 1
public ViewParent invalidateChildInParent (int[] location, 
                Rect dirty)

This method is deprecated.
Use onDescendantInvalidated(android.view.View, android.view.View) instead to observe updates to draw state in descendants.

Don't call or override this method. It is used for the implementation of the view hierarchy. This implementation returns null if this ViewGroup does not have a parent, if this ViewGroup is already fully invalidated or if the dirty rectangle does not intersect with this ViewGroup's bounds.

Parameters
location int: An array of 2 ints containing the left and top coordinates of the child to invalidate

dirty Rect: The area within the child that is invalid

Returns
ViewParent the parent of this ViewParent or null

isAlwaysDrawnWithCacheEnabled

Added in API level 1
Deprecated in API level 23
public boolean isAlwaysDrawnWithCacheEnabled ()

This method was deprecated in API level 23.
As of Build.VERSION_CODES.M, this property is ignored. Child views may no longer have their caching behavior disabled by parents.

Indicates whether this ViewGroup will always try to draw its children using their drawing cache. By default this property is enabled.

Returns
boolean true if the animation cache is enabled, false otherwise

isAnimationCacheEnabled

Added in API level 1
Deprecated in API level 23
public boolean isAnimationCacheEnabled ()

This method was deprecated in API level 23.
As of Build.VERSION_CODES.M, this property is ignored. Caching behavior of children may be controlled through View.setLayerType(int, Paint).

Indicates whether the children's drawing cache is used during a layout animation. By default, the drawing cache is enabled but this will prevent nested layout animations from working. To nest animations, you must disable the cache.

Returns
boolean true if the animation cache is enabled, false otherwise

isLayoutSuppressed

Added in API level 29
public boolean isLayoutSuppressed ()

Returns whether layout calls on this container are currently being suppressed, due to an earlier call to suppressLayout(boolean).

Returns
boolean true if layout calls are currently suppressed, false otherwise.

isMotionEventSplittingEnabled

Added in API level 11
public boolean isMotionEventSplittingEnabled ()

Returns true if MotionEvents dispatched to this ViewGroup can be split to multiple children.

Returns
boolean true if MotionEvents dispatched to this ViewGroup can be split to multiple children.

isTransitionGroup

Added in API level 21
public boolean isTransitionGroup ()

Returns true if this ViewGroup should be considered as a single entity for removal when executing an Activity transition. If this is false, child elements will move individually during the transition.

Returns
boolean True if the ViewGroup should be acted on together during an Activity transition. The default value is true when there is a non-null background or if View.getTransitionName() is not null or if a non-null ViewOutlineProvider other than ViewOutlineProvider.BACKGROUND was given to View.setOutlineProvider(android.view.ViewOutlineProvider) and false otherwise.

jumpDrawablesToCurrentState

Added in API level 11
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.

layout

Added in API level 1
public final 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

notifySubtreeAccessibilityStateChanged

Added in API level 19
public void notifySubtreeAccessibilityStateChanged (View child, 
                View source, 
                int changeType)

Notifies a view parent that the accessibility state of one of its descendants has changed and that the structure of the subtree is different.

offsetDescendantRectToMyCoords

Added in API level 1
public final void offsetDescendantRectToMyCoords (View descendant, 
                Rect rect)

Offset a rectangle that is in a descendant's coordinate space into our coordinate space.

Parameters
descendant View: A descendant of this view

rect Rect: A rectangle defined in descendant's coordinate space.

offsetRectIntoDescendantCoords

Added in API level 1
public final void offsetRectIntoDescendantCoords (View descendant, 
                Rect rect)

Offset a rectangle that is in our coordinate space into an ancestor's coordinate space.

Parameters
descendant View: A descendant of this view

rect Rect: A rectangle defined in descendant's coordinate space.

onDescendantInvalidated

Added in API level 26
public void onDescendantInvalidated (View child, 
                View target)

The target View has been invalidated, or has had a drawing property changed that requires the hierarchy to re-render. This method is called by the View hierarchy to signal ancestors that a View either needs to re-record its drawing commands, or drawing properties have changed. This is how Views schedule a drawing traversal. This signal is generally only dispatched for attached Views, since only they need to draw. If you override this method you must call through to the superclass implementation.

Parameters
child View: This value cannot be null.

target View: This value cannot be null.

onInterceptHoverEvent

Added in API level 14
public boolean onInterceptHoverEvent (MotionEvent event)

Implement this method to intercept hover events before they are handled by child views.

This method is called before dispatching a hover event to a child of the view group or to the view group's own View.onHoverEvent(MotionEvent) to allow the view group a chance to intercept the hover event. This method can also be used to watch all pointer motions that occur within the bounds of the view group even when the pointer is hovering over a child of the view group rather than over the view group itself.

The view group can prevent its children from receiving hover events by implementing this method and returning true to indicate that it would like to intercept hover events. The view group must continuously return true from onInterceptHoverEvent(MotionEvent) for as long as it wishes to continue intercepting hover events from its children.

Interception preserves the invariant that at most one view can be hovered at a time by transferring hover focus from the currently hovered child to the view group or vice-versa as needed.

If this method returns true and a child is already hovered, then the child view will first receive a hover exit event and then the view group itself will receive a hover enter event in View.onHoverEvent(MotionEvent). Likewise, if this method had previously returned true to intercept hover events and instead returns false while the pointer is hovering within the bounds of one of a child, then the view group will first receive a hover exit event in View.onHoverEvent(MotionEvent) and then the hovered child will receive a hover enter event.

The default implementation handles mouse hover on the scroll bars.

Parameters
event MotionEvent: The motion event that describes the hover.

Returns
boolean True if the view group would like to intercept the hover event and prevent its children from receiving it.

onInterceptTouchEvent

Added in API level 1
public boolean onInterceptTouchEvent (MotionEvent ev)

Implement this method to intercept all touch screen motion events. This allows you to watch events as they are dispatched to your children, and take ownership of the current gesture at any point.

Using this function takes some care, as it has a fairly complicated interaction with View.onTouchEvent(MotionEvent), and using it requires implementing that method as well as this one in the correct way. Events will be received in the following order:

  1. You will receive the down event here.
  2. The down event will be handled either by a child of this view group, or given to your own onTouchEvent() method to handle; this means you should implement onTouchEvent() to return true, so you will continue to see the rest of the gesture (instead of looking for a parent view to handle it). Also, by returning true from onTouchEvent(), you will not receive any following events in onInterceptTouchEvent() and all touch processing must happen in onTouchEvent() like normal.
  3. For as long as you return false from this function, each following event (up to and including the final up) will be delivered first here and then to the target's onTouchEvent().
  4. If you return true from here, you will not receive any following events: the target view will receive the same event but with the action MotionEvent.ACTION_CANCEL, and all further events will be delivered to your onTouchEvent() method and no longer appear here.

Parameters
ev MotionEvent: The motion event being dispatched down the hierarchy.

Returns
boolean Return true to steal motion events from the children and have them dispatched to this ViewGroup through onTouchEvent(). The current target will receive an ACTION_CANCEL event, and no further messages will be delivered here.

onNestedFling

public boolean onNestedFling (View target, 
                float velocityX, 
                float velocityY, 
                boolean consumed)

Request a fling from a nested scroll.

This method signifies 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
target View: View that initiated the nested scroll This value cannot be null.

velocityX float: Horizontal velocity in pixels per second

velocityY float: Vertical velocity in pixels per second

consumed boolean: true if the child consumed the fling, false otherwise

Returns
boolean true if this parent consumed or otherwise reacted to the fling

onNestedPreFling

public boolean onNestedPreFling (View target, 
                float velocityX, 
                float velocityY)

React to a nested fling before the target view consumes it.

This method siginfies that a nested scrolling child has detected a fling with the given velocity along each axis. 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 parent is consuming motion as part of a pre-scroll, it may be appropriate for it to also consume the pre-fling to complete that same motion. By returning true from this method, the parent indicates that the child should not fling its own internal content as well.

Parameters
target View: View that initiated the nested scroll This value cannot be null.

velocityX float: Horizontal velocity in pixels per second

velocityY float: Vertical velocity in pixels per second

Returns
boolean true if this parent consumed the fling ahead of the target view

onNestedPrePerformAccessibilityAction

Added in API level 22
public boolean onNestedPrePerformAccessibilityAction (View target, 
                int action, 
                Bundle args)

React to an accessibility action delegated by a target descendant view before the target processes it.

This method may be called by a target descendant view if the target wishes to give a view in its parent chain a chance to react to the event before normal processing occurs. Most commonly this will be a scroll event such as AccessibilityNodeInfo.ACTION_SCROLL_FORWARD. A ViewParent that supports acting as a nested scrolling parent should override this method and act accordingly to implement scrolling via accesibility systems.

Subclasses should always call super.onNestedPrePerformAccessibilityAction

Parameters
target View: The target view dispatching this action

action int: Action being performed; see AccessibilityNodeInfo

args Bundle: Optional action arguments

Returns
boolean false by default. Subclasses should return true if they handle the event.

onNestedPreScroll

public void onNestedPreScroll (View target, 
                int dx, 
                int dy, 
                int[] consumed)

React to a nested scroll in progress before the target view consumes a portion of the scroll.

When working with nested scrolling often the parent view may want an opportunity to consume the scroll before the nested scrolling child does. An example of this is a drawer that contains a scrollable list. The user will want to be able to scroll the list fully into view before the list itself begins scrolling.

onNestedPreScroll is called when a nested scrolling child invokes View.dispatchNestedPreScroll(int, int, int[], int[]). The implementation should report how any pixels of the scroll reported by dx, dy were consumed in the consumed array. Index 0 corresponds to dx and index 1 corresponds to dy. This parameter will never be null. Initial values for consumed[0] and consumed[1] will always be 0.

Parameters
target View: View that initiated the nested scroll This value cannot be null.

dx int: Horizontal scroll distance in pixels

dy int: Vertical scroll distance in pixels

consumed int: Output. The horizontal and vertical scroll distance consumed by this parent This value cannot be null.

onNestedScroll

public void onNestedScroll (View target, 
                int dxConsumed, 
                int dyConsumed, 
                int dxUnconsumed, 
                int dyUnconsumed)

React to a nested scroll in progress.

This method will be called when the ViewParent's current nested scrolling child view dispatches a nested scroll event. To receive calls to this method the ViewParent must have previously returned true for a call to onStartNestedScroll(android.view.View, android.view.View, int).

Both the consumed and unconsumed portions of the scroll distance are reported to the ViewParent. An implementation may choose to use the consumed portion to match or chase scroll position of multiple child elements, for example. The unconsumed portion may be used to allow continuous dragging of multiple scrolling or draggable elements, such as scrolling a list within a vertical drawer where the drawer begins dragging once the edge of inner scrolling content is reached.

Parameters
target View: The descendent view controlling the nested scroll This value cannot be null.

dxConsumed int: Horizontal scroll distance in pixels already consumed by target

dyConsumed int: Vertical scroll distance in pixels already consumed by target

dxUnconsumed int: Horizontal scroll distance in pixels not consumed by target

dyUnconsumed int: Vertical scroll distance in pixels not consumed by target

onNestedScrollAccepted

public void onNestedScrollAccepted (View child, 
                View target, 
                int axes)

React to the successful claiming of a nested scroll operation.

This method will be called after onStartNestedScroll returns true. It offers an opportunity for the view and its superclasses to perform initial configuration for the nested scroll. Implementations of this method should always call their superclass's implementation of this method if one is present.

Parameters
child View: Direct child of this ViewParent containing target This value cannot be null.

target View: View that initiated the nested scroll This value cannot be null.

axes int: Flags consisting of View.SCROLL_AXIS_HORIZONTAL, View.SCROLL_AXIS_VERTICAL or both

onRequestSendAccessibilityEvent

Added in API level 14
public boolean onRequestSendAccessibilityEvent (View child, 
                AccessibilityEvent event)

Called when a child has requested sending an AccessibilityEvent and gives an opportunity to its parent to augment the event.

If an View.AccessibilityDelegate has been specified via calling View.setAccessibilityDelegate(android.view.View.AccessibilityDelegate) its View.AccessibilityDelegate.onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent) is responsible for handling this call.

Parameters
child View: The child which requests sending the event.

event AccessibilityEvent: The event to be sent.

Returns
boolean True if the event should be sent.

onResolvePointerIcon

Added in API level 24
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, to always show the PointerIcon.TYPE_HANDWRITING icon for a stylus pointer, the event 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_HANDWRITING);
     }
     // 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.

onStartNestedScroll

public boolean onStartNestedScroll (View child, 
                View target, 
                int nestedScrollAxes)

React to a descendant view initiating a nestable scroll operation, claiming the nested scroll operation if appropriate.

This method will be called in response to a descendant view invoking View.startNestedScroll(int). Each parent up the view hierarchy will be given an opportunity to respond and claim the nested scrolling operation by returning true.

This method may be overridden by ViewParent implementations to indicate when the view is willing to support a nested scrolling operation that is about to begin. If it returns true, this ViewParent will become the target view's nested scrolling parent for the duration of the scroll operation in progress. When the nested scroll is finished this ViewParent will receive a call to onStopNestedScroll(android.view.View).

Parameters
child View: Direct child of this ViewParent containing target This value cannot be null.

target View: View that initiated the nested scroll This value cannot be null.

nestedScrollAxes int: Flags consisting of View.SCROLL_AXIS_HORIZONTAL, View.SCROLL_AXIS_VERTICAL or both

Returns
boolean true if this ViewParent accepts the nested scroll operation

onStopNestedScroll

public void onStopNestedScroll (View child)

React to a nested scroll operation ending.

Perform cleanup after a nested scrolling operation. This method will be called when a nested scroll stops, for example when a nested touch scroll ends with a MotionEvent.ACTION_UP or MotionEvent.ACTION_CANCEL event. Implementations of this method should always call their superclass's implementation of this method if one is present.

Parameters
child View: View that initiated the nested scroll This value cannot be null.

onViewAdded

Added in API level 23
public void onViewAdded (View child)

Called when a new child is added to this ViewGroup. Overrides should always call super.onViewAdded.

Parameters
child View: the added child view

onViewRemoved

Added in API level 23
public void onViewRemoved (View child)

Called when a child view is removed from this ViewGroup. Overrides should always call super.onViewRemoved.

Parameters
child View: the removed child view

propagateRequestedFrameRate

public void propagateRequestedFrameRate (float frameRate, 
                boolean forceOverride)

You can set the preferred frame rate for a ViewGroup and its children 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 ViewGroup or any of its children is invalidated. To undo the frame rate propagation, call the API with REQUESTED_FRAME_RATE_CATEGORY_DEFAULT.

Parameters
frameRate float: the preferred frame rate of the ViewGroup.

forceOverride boolean: indicate whether it should override the frame rate of all the children with the given frame rate.

recomputeViewAttributes

Added in API level 1
public void recomputeViewAttributes (View child)

Tell view hierarchy that the global view attributes need to be re-evaluated.

Parameters
child View: View whose attributes have changed.

removeAllViews

Added in API level 1
public void removeAllViews ()

Call this method to remove all child views from the ViewGroup.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

removeAllViewsInLayout

Added in API level 1
public void removeAllViewsInLayout ()

Called by a ViewGroup subclass to remove child views from itself, when it must first know its size on screen before it can calculate how many child views it will render. An example is a Gallery or a ListView, which may "have" 50 children, but actually only render the number of children that can currently fit inside the object on screen. Do not call this method unless you are extending ViewGroup and understand the view measuring and layout pipeline.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

removeView

Added in API level 1
public void removeView (View view)

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
view View

removeViewAt

Added in API level 1
public void removeViewAt (int index)

Removes the view at the specified position in the group.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
index int: the position in the group of the view to remove

removeViewInLayout

Added in API level 1
public void removeViewInLayout (View view)

Removes a view during layout. This is useful if in your onLayout() method, you need to remove more views.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
view View: the view to remove from the group

removeViews

Added in API level 1
public void removeViews (int start, 
                int count)

Removes the specified range of views from the group.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
start int: the first position in the group of the range of views to remove

count int: the number of views to remove

removeViewsInLayout

Added in API level 1
public void removeViewsInLayout (int start, 
                int count)

Removes a range of views during layout. This is useful if in your onLayout() method, you need to remove more views.

Note: do not invoke this method from View.draw(android.graphics.Canvas), View.onDraw(android.graphics.Canvas), dispatchDraw(android.graphics.Canvas) or any related method.

Parameters
start int: the index of the first view to remove from the group

count int: the number of views to remove from the group

requestChildFocus

Added in API level 1
public void requestChildFocus (View child, 
                View focused)

Called when a child of this parent wants focus

Parameters
child View: The child of this ViewParent that wants focus. This view will contain the focused view. It is not necessarily the view that actually has focus.

focused View: The view that is a descendant of child that actually has focus

requestChildRectangleOnScreen

Added in API level 1
public boolean requestChildRectangleOnScreen (View child, 
                Rect rectangle, 
                boolean immediate)

Called when a child of this group wants a particular rectangle to be positioned onto the screen. ViewGroups overriding this can trust that:

  • child will be a direct child of this group
  • rectangle will be in the child's content coordinates

ViewGroups overriding this should uphold the contract:

  • nothing will change if the rectangle is already visible
  • the view port will be scrolled only just enough to make the rectangle visible
    • Parameters
      child View: The direct child making the request. This value cannot be null.

      rectangle Rect: The rectangle in the child's coordinates the child wishes to be on the screen.

      immediate boolean: True to forbid animated or delayed scrolling, false otherwise

      Returns
      boolean Whether the group scrolled to handle the operation

requestDisallowInterceptTouchEvent

Added in API level 1
public void requestDisallowInterceptTouchEvent (boolean disallowIntercept)

Called when a child does not want this parent and its ancestors to intercept touch events with ViewGroup.onInterceptTouchEvent(MotionEvent).

This parent should pass this call onto its parents. This parent must obey this request for the duration of the touch (that is, only clear the flag after this parent has received an up or a cancel.

Parameters
disallowIntercept boolean: True if the child does not want the parent to intercept touch events.

requestFocus

Added in API level 1
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. Looks for a view to give focus to respecting the setting specified by getDescendantFocusability(). Uses onRequestFocusInDescendants(int, android.graphics.Rect) to find focus within the children of this group when appropriate.

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.

requestSendAccessibilityEvent

Added in API level 14
public boolean requestSendAccessibilityEvent (View child, 
                AccessibilityEvent event)

Called by a child to request from its parent to send an AccessibilityEvent. The child has already populated a record for itself in the event and is delegating to its parent to send the event. The parent can optionally add a record for itself.

Note: An accessibility event is fired by an individual view which populates the event with a record for its state and requests from its parent to perform the sending. The parent can optionally add a record for itself before dispatching the request to its parent. A parent can also choose not to respect the request for sending the event. The accessibility event is sent by the topmost view in the view tree.

Parameters
child View: The child which requests sending the event. This value cannot be null.

event AccessibilityEvent: The event to be sent.

Returns
boolean True if the event was sent.

requestTransparentRegion

Added in API level 1
public void requestTransparentRegion (View child)

Called when a child wants the view hierarchy to gather and report transparent regions to the window compositor. Views that "punch" holes in the view hierarchy, such as SurfaceView can use this API to improve performance of the system. When no such a view is present in the hierarchy, this optimization in unnecessary and might slightly reduce the view hierarchy performance.

Parameters
child View: the view requesting the transparent region computation

restoreDefaultFocus

Added in API level 26
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

scheduleLayoutAnimation

Added in API level 1
public void scheduleLayoutAnimation ()

Schedules the layout animation to be played after the next layout pass of this view group. This can be used to restart the layout animation when the content of the view group changes or when the activity is paused and resumed.

setAddStatesFromChildren

Added in API level 1
public void setAddStatesFromChildren (boolean addsStates)

Sets whether this ViewGroup's drawable states also include its children's drawable states. This is used, for example, to make a group appear to be focused when its child EditText or button is focused.

Parameters
addsStates boolean

setAlwaysDrawnWithCacheEnabled

Added in API level 1
Deprecated in API level 23
public void setAlwaysDrawnWithCacheEnabled (boolean always)

This method was deprecated in API level 23.
As of Build.VERSION_CODES.M, this property is ignored. Child views may no longer have their caching behavior disabled by parents.

Indicates whether this ViewGroup will always try to draw its children using their drawing cache. This property can be set to true when the cache rendering is slightly different from the children's normal rendering. Renderings can be different, for instance, when the cache's quality is set to low. When this property is disabled, the ViewGroup will use the drawing cache of its children only when asked to. It's usually the task of subclasses to tell ViewGroup when to start using the drawing cache and when to stop using it.

Parameters
always boolean: true to always draw with the drawing cache, false otherwise

setAnimationCacheEnabled

Added in API level 1
Deprecated in API level 23
public void setAnimationCacheEnabled (boolean enabled)

This method was deprecated in API level 23.
As of Build.VERSION_CODES.M, this property is ignored. Caching behavior of children may be controlled through View.setLayerType(int, Paint).

Enables or disables the children's drawing cache during a layout animation. By default, the drawing cache is enabled but this will prevent nested layout animations from working. To nest animations, you must disable the cache.

Parameters
enabled boolean: true to enable the animation cache, false otherwise

setClipChildren

Added in API level 1
public void setClipChildren (boolean clipChildren)

By default, children are clipped to their bounds before drawing. This allows view groups to override this behavior for animations, etc.

Related XML Attributes:

Parameters
clipChildren boolean: true to clip children to their bounds, false otherwise

setClipToPadding

Added in API level 1
public void setClipToPadding (boolean clipToPadding)

Sets whether this ViewGroup will clip its children to its padding and resize (but not clip) any EdgeEffect to the padded region, if padding is present.

By default, children are clipped to the padding of their parent ViewGroup. This clipping behavior is only enabled if padding is non-zero.

Related XML Attributes:

Parameters
clipToPadding boolean: true to clip children to the padding of the group, and resize (but not clip) any EdgeEffect to the padded region. False otherwise.

setDescendantFocusability

Added in API level 1
public void setDescendantFocusability (int focusability)

Set the descendant focusability of this view group. This defines the relationship between this view group and its descendants when looking for a view to take focus in requestFocus(int, android.graphics.Rect).

setLayoutAnimation

Added in API level 1
public void setLayoutAnimation (LayoutAnimationController controller)

Sets the layout animation controller used to animate the group's children after the first layout.

Parameters
controller LayoutAnimationController: the animation controller

setLayoutAnimationListener

Added in API level 1
public void setLayoutAnimationListener (Animation.AnimationListener animationListener)

Specifies the animation listener to which layout animation events must be sent. Only Animation.AnimationListener.onAnimationStart(Animation) and Animation.AnimationListener.onAnimationEnd(Animation) are invoked.

Parameters
animationListener Animation.AnimationListener: the layout animation listener

setLayoutMode

Added in API level 18
public void setLayoutMode (int layoutMode)

Sets the basis of alignment during the layout of this ViewGroup. Valid values are either LAYOUT_MODE_CLIP_BOUNDS or LAYOUT_MODE_OPTICAL_BOUNDS.

Related XML Attributes:

Parameters
layoutMode int: the layout mode to use during layout operations

See also:

setLayoutTransition

Added in API level 11
public void setLayoutTransition (LayoutTransition transition)

Sets the LayoutTransition object for this ViewGroup. If the LayoutTransition object is not null, changes in layout which occur because of children being added to or removed from the ViewGroup will be animated according to the animations defined in that LayoutTransition object. By default, the transition object is null (so layout changes are not animated).

Replacing a non-null transition will cause that previous transition to be canceled, if it is currently running, to restore this container to its correct post-transition state.

Related XML Attributes:

Parameters
transition LayoutTransition: The LayoutTransition object that will animated changes in layout. A value of null means no transition will run on layout changes.

setMotionEventSplittingEnabled

Added in API level 11
public void setMotionEventSplittingEnabled (boolean split)

Enable or disable the splitting of MotionEvents to multiple children during touch event dispatch. This behavior is enabled by default for applications that target an SDK version of Build.VERSION_CODES.HONEYCOMB or newer.

When this option is enabled MotionEvents may be split and dispatched to different child views depending on where each pointer initially went down. This allows for user interactions such as scrolling two panes of content independently, chording of buttons, and performing independent gestures on different pieces of content.

Related XML Attributes:

Parameters
split boolean: true to allow MotionEvents to be split and dispatched to multiple child views. false to only allow one child view to be the target of any MotionEvent received by this ViewGroup.

setOnHierarchyChangeListener

Added in API level 1
public void setOnHierarchyChangeListener (ViewGroup.OnHierarchyChangeListener listener)

Register a callback to be invoked when a child is added to or removed from this view.

Parameters
listener ViewGroup.OnHierarchyChangeListener: the callback to invoke on hierarchy change

setPersistentDrawingCache

Added in API level 1
Deprecated in API level 28
public void setPersistentDrawingCache (int drawingCacheToKeep)

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, View.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 View.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 what types of drawing caches should be kept in memory after they have been created.

Parameters
drawingCacheToKeep int: one or a combination of PERSISTENT_NO_CACHE, PERSISTENT_ANIMATION_CACHE, PERSISTENT_SCROLLING_CACHE and PERSISTENT_ALL_CACHES

setRequestedFrameRate

Added in API level 35
public void setRequestedFrameRate (float frameRate)

You can set the preferred frame rate for a ViewGroup 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 ViewGroup is invalidated. Please also be aware that the requested frame rate will not propagate to child views.

Parameters
frameRate float: the preferred frame rate of the ViewGroup.

setTouchscreenBlocksFocus

Added in API level 21
public void setTouchscreenBlocksFocus (boolean touchscreenBlocksFocus)

Set whether this ViewGroup should ignore focus requests for itself and its children. If this option is enabled and the ViewGroup or a descendant currently has focus, focus will proceed forward.

Parameters
touchscreenBlocksFocus boolean: true to enable blocking focus in the presence of a touchscreen

setTransitionGroup

Added in API level 21
public void setTransitionGroup (boolean isTransitionGroup)

Changes whether or not this ViewGroup should be treated as a single entity during Activity Transitions.

Parameters
isTransitionGroup boolean: Whether or not the ViewGroup should be treated as a unit in Activity transitions. If false, the ViewGroup won't transition, only its children. If true, the entire ViewGroup will transition together.

setWindowInsetsAnimationCallback

Added in API level 30
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: This value may be null.

shouldDelayChildPressedState

Added in API level 14
public boolean shouldDelayChildPressedState ()

Return true if the pressed state should be delayed for children or descendants of this ViewGroup. Generally, this should be done for containers that can scroll, such as a List. This prevents the pressed state from appearing when the user is actually trying to scroll the content. The default implementation returns true for compatibility reasons. Subclasses that do not scroll should generally override this method and return false.

Returns
boolean

showContextMenuForChild

Added in API level 24
public boolean showContextMenuForChild (View originalView, 
                float x, 
                float y)

Shows the context menu for the specified view or its ancestors anchored to the specified view-relative coordinate.

In most cases, a subclass does not need to override this. However, if the subclass is added directly to the window manager (for example, ViewManager.addView(View, android.view.ViewGroup.LayoutParams)) then it should override this and show the context menu.

If a subclass overrides this method it should also override showContextMenuForChild(android.view.View).

Parameters
originalView View: the source view where the context menu was first invoked

x float: the X coordinate in pixels relative to the original view to which the menu should be anchored, or Float.NaN to disable anchoring

y float: the Y coordinate in pixels relative to the original 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

showContextMenuForChild

Added in API level 1
public boolean showContextMenuForChild (View originalView)

Shows the context menu for the specified view or its ancestors.

In most cases, a subclass does not need to override this. However, if the subclass is added directly to the window manager (for example, ViewManager.addView(View, android.view.ViewGroup.LayoutParams)) then it should override this and show the context menu.

Parameters
originalView View: the source view where the context menu was first invoked

Returns
boolean true if the context menu was shown, false otherwise

startActionModeForChild

Added in API level 23
public ActionMode startActionModeForChild (View originalView, 
                ActionMode.Callback callback, 
                int type)

Start an action mode of a specific type for the specified view.

In most cases, a subclass does not need to override this. However, if the subclass is added directly to the window manager (for example, ViewManager.addView(View, android.view.ViewGroup.LayoutParams)) then it should override this and start the action mode.

Parameters
originalView View: The source view where the action mode was first invoked

callback ActionMode.Callback: The callback that will handle lifecycle events for the action mode

type int: One of ActionMode.TYPE_PRIMARY or ActionMode.TYPE_FLOATING.

Returns
ActionMode The new action mode if it was started, null otherwise

startActionModeForChild

Added in API level 11
public ActionMode startActionModeForChild (View originalView, 
                ActionMode.Callback callback)

Start an action mode for the specified view with the default type ActionMode.TYPE_PRIMARY.

In most cases, a subclass does not need to override this. However, if the subclass is added directly to the window manager (for example, ViewManager.addView(View, android.view.ViewGroup.LayoutParams)) then it should override this and start the action mode.

Parameters
originalView View: The source view where the action mode was first invoked

callback ActionMode.Callback: The callback that will handle lifecycle events for the action mode

Returns
ActionMode The new action mode if it was started, null otherwise

startLayoutAnimation

Added in API level 1
public void startLayoutAnimation ()

Runs the layout animation. Calling this method triggers a relayout of this view group.

startViewTransition

Added in API level 11
public void startViewTransition (View view)

This method tells the ViewGroup that the given View object, which should have this ViewGroup as its parent, should be kept around (re-displayed when the ViewGroup draws its children) even if it is removed from its parent. This allows animations, such as those used by Fragment and LayoutTransition to animate the removal of views. A call to this method should always be accompanied by a later call to endViewTransition(android.view.View), such as after an animation on the View has finished, so that the View finally gets removed.

Parameters
view View: The View object to be kept visible even if it gets removed from its parent.

suppressLayout

Added in API level 29
public void suppressLayout (boolean suppress)

Tells this ViewGroup to suppress all layout() calls until layout suppression is disabled with a later call to suppressLayout(false). When layout suppression is disabled, a requestLayout() call is sent if layout() was attempted while layout was being suppressed.

Parameters
suppress boolean

updateViewLayout

Added in API level 1
public void updateViewLayout (View view, 
                ViewGroup.LayoutParams params)

Parameters
view View

params ViewGroup.LayoutParams

Protected methods

addViewInLayout

Added in API level 1
protected boolean addViewInLayout (View child, 
                int index, 
                ViewGroup.LayoutParams params, 
                boolean preventRequestLayout)

Adds a view during layout. This is useful if in your onLayout() method, you need to add more views (as does the list view for example). If index is negative, it means put it at the end of the list.

Parameters
child View: the view to add to the group

index int: the index at which the child must be added or -1 to add last

params ViewGroup.LayoutParams: the layout parameters to associate with the child

preventRequestLayout boolean: if true, calling this method will not trigger a layout request on child

Returns
boolean true if the child was added, false otherwise

addViewInLayout

Added in API level 1
protected boolean addViewInLayout (View child, 
                int index, 
                ViewGroup.LayoutParams params)

Adds a view during layout. This is useful if in your onLayout() method, you need to add more views (as does the list view for example). If index is negative, it means put it at the end of the list.

Parameters
child View: the view to add to the group

index int: the index at which the child must be added or -1 to add last

params ViewGroup.LayoutParams: the layout parameters to associate with the child

Returns
boolean true if the child was added, false otherwise

attachLayoutAnimationParameters

Added in API level 1
protected void attachLayoutAnimationParameters (View child, 
                ViewGroup.LayoutParams params, 
                int index, 
                int count)

Subclasses should override this method to set layout animation parameters on the supplied child.

Parameters
child View: the child to associate with animation parameters

params ViewGroup.LayoutParams: the child's layout parameters which hold the animation parameters

index int: the index of the child in the view group

count int: the number of children in the view group

attachViewToParent

Added in API level 1
protected void attachViewToParent (View child, 
                int index, 
                ViewGroup.LayoutParams params)

Attaches a view to this view group. Attaching a view assigns this group as the parent, sets the layout parameters and puts the view in the list of children so that it can be retrieved by calling getChildAt(int).

This method is intended to be lightweight and makes no assumptions about whether the parent or child should be redrawn. Proper use of this method will include also making any appropriate View.requestLayout() or View.invalidate() calls. For example, callers can post a Runnable which performs a View.requestLayout() on the next frame, after all detach/attach calls are finished, causing layout to be run prior to redrawing the view hierarchy.

This method should be called only for views which were detached from their parent.

Parameters
child View: the child to attach

index int: the index at which the child should be attached

params ViewGroup.LayoutParams: the layout parameters of the child

canAnimate

Added in API level 1
protected boolean canAnimate ()

Indicates whether the view group has the ability to animate its children after the first layout.

Returns
boolean true if the children can be animated, false otherwise

checkLayoutParams

Added in API level 1
protected boolean checkLayoutParams (ViewGroup.LayoutParams p)

Parameters
p ViewGroup.LayoutParams

Returns
boolean

cleanupLayoutState

Added in API level 1
protected void cleanupLayoutState (View child)

Prevents the specified child to be laid out during the next layout pass.

Parameters
child View: the child on which to perform the cleanup

debug

Added in API level 1
protected void debug (int depth)

Parameters
depth int

detachAllViewsFromParent

Added in API level 1
protected void detachAllViewsFromParent ()

Detaches all views from the parent. Detaching a view should be followed either by a call to attachViewToParent(android.view.View, int, android.view.ViewGroup.LayoutParams) or a call to removeDetachedView(android.view.View, boolean). Detachment should only be temporary; reattachment or removal should happen within the same drawing cycle as detachment. When a view is detached, its parent is null and cannot be retrieved by a call to getChildAt(int).

detachViewFromParent

Added in API level 1
protected void detachViewFromParent (int index)

Detaches a view from its parent. Detaching a view should be followed either by a call to attachViewToParent(android.view.View, int, android.view.ViewGroup.LayoutParams) or a call to removeDetachedView(android.view.View, boolean). Detachment should only be temporary; reattachment or removal should happen within the same drawing cycle as detachment. When a view is detached, its parent is null and cannot be retrieved by a call to getChildAt(int).

Parameters
index int: the index of the child to detach

detachViewFromParent

Added in API level 1
protected void detachViewFromParent (View child)

Detaches a view from its parent. Detaching a view should be followed either by a call to attachViewToParent(android.view.View, int, android.view.ViewGroup.LayoutParams) or a call to removeDetachedView(android.view.View, boolean). Detachment should only be temporary; reattachment or removal should happen within the same drawing cycle as detachment. When a view is detached, its parent is null and cannot be retrieved by a call to getChildAt(int).

Parameters
child View: the child to detach

detachViewsFromParent

Added in API level 1
protected void detachViewsFromParent (int start, 
                int count)

Detaches a range of views from their parents. Detaching a view should be followed either by a call to attachViewToParent(android.view.View, int, android.view.ViewGroup.LayoutParams) or a call to removeDetachedView(android.view.View, boolean). Detachment should only be temporary; reattachment or removal should happen within the same drawing cycle as detachment. When a view is detached, its parent is null and cannot be retrieved by a call to getChildAt(int).

Parameters
start int: the first index of the childrend range to detach

count int: the number of children to detach

dispatchDraw

Added in API level 1
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: This value cannot be null.

dispatchFreezeSelfOnly

Added in API level 1
protected void dispatchFreezeSelfOnly (SparseArray<Parcelable> container)

Perform dispatching of a View.saveHierarchyState(android.util.SparseArray) freeze()} to only this view, not to its children. For use when overriding dispatchSaveInstanceState(android.util.SparseArray) dispatchFreeze()} to allow subclasses to freeze their own state but not the state of their children.

Parameters
container SparseArray: the container

dispatchGenericFocusedEvent

Added in API level 14
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

Added in API level 14
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

Added in API level 14
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

Added in API level 1
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

Added in API level 1
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.

dispatchSetPressed

Added in API level 1
protected void dispatchSetPressed (boolean pressed)

Dispatch setPressed to all of this View's children.

Parameters
pressed boolean: The new pressed state

dispatchThawSelfOnly

Added in API level 1
protected void dispatchThawSelfOnly (SparseArray<Parcelable> container)

Perform dispatching of a View.restoreHierarchyState(android.util.SparseArray) to only this view, not to its children. For use when overriding dispatchRestoreInstanceState(android.util.SparseArray) to allow subclasses to thaw their own state but not the state of their children.

Parameters
container SparseArray: the container

dispatchVisibilityChanged

Added in API level 8
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: View.VISIBLE, View.INVISIBLE or View.GONE. Value is View.VISIBLE, View.INVISIBLE, or View.GONE

drawChild

Added in API level 1
protected boolean drawChild (Canvas canvas, 
                View child, 
                long drawingTime)

Draw one child of this View Group. This method is responsible for getting the canvas in the right state. This includes clipping, translating so that the child's scrolled origin is at 0, 0, and applying any animation transformations.

Parameters
canvas Canvas: The canvas on which to draw the child This value cannot be null.

child View: Who to draw

drawingTime long: The time at which draw is occurring

Returns
boolean True if an invalidate() was issued

drawableStateChanged

Added in API level 1
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.

generateDefaultLayoutParams

Added in API level 1
protected ViewGroup.LayoutParams generateDefaultLayoutParams ()

Returns a set of default layout parameters. These parameters are requested when the View passed to addView(android.view.View) has no layout parameters already set. If null is returned, an exception is thrown from addView.

Returns
ViewGroup.LayoutParams a set of default layout parameters or null

generateLayoutParams

Added in API level 1
protected ViewGroup.LayoutParams generateLayoutParams (ViewGroup.LayoutParams p)

Returns a safe set of layout parameters based on the supplied layout params. When a ViewGroup is passed a View whose layout params do not pass the test of checkLayoutParams(android.view.ViewGroup.LayoutParams), this method is invoked. This method should return a new set of layout params suitable for this ViewGroup, possibly by copying the appropriate attributes from the specified set of layout params.

Parameters
p ViewGroup.LayoutParams: The layout parameters to convert into a suitable set of layout parameters for this ViewGroup.

Returns
ViewGroup.LayoutParams an instance of ViewGroup.LayoutParams or one of its descendants

getChildDrawingOrder

Added in API level 1
protected int getChildDrawingOrder (int childCount, 
                int drawingPosition)

Converts drawing order position to container position. Override this if you want to change the drawing order of children. By default, it returns drawingPosition.

NOTE: In order for this method to be called, you must enable child ordering first by calling setChildrenDrawingOrderEnabled(boolean).

Parameters
childCount int

drawingPosition int: the drawing order position.

Returns
int the container position of a child for this drawing order position.

getChildStaticTransformation

Added in API level 1
protected boolean getChildStaticTransformation (View child, 
                Transformation t)

Sets t to be the static transformation of the child, if set, returning a boolean to indicate whether a static transform was set. The default implementation simply returns false; subclasses may override this method for different behavior. setStaticTransformationsEnabled(boolean) must be set to true for this method to be called.

Parameters
child View: The child view whose static transform is being requested

t Transformation: The Transformation which will hold the result

Returns
boolean true if the transformation was set, false otherwise

isChildrenDrawingOrderEnabled

Added in API level 7
protected boolean isChildrenDrawingOrderEnabled ()

Indicates whether the ViewGroup is drawing its children in the order defined by getChildDrawingOrder(int, int).

Returns
boolean true if children drawing order is defined by getChildDrawingOrder(int, int), false otherwise

isChildrenDrawnWithCacheEnabled

Added in API level 1
Deprecated in API level 23
protected boolean isChildrenDrawnWithCacheEnabled ()

This method was deprecated in API level 23.
As of Build.VERSION_CODES.M, this property is ignored. Child views may no longer be forced to cache their rendering state by their parents. Use View.setLayerType(int, Paint) on individual Views instead.

Indicates whether the ViewGroup is currently drawing its children using their drawing cache.

Returns
boolean true if children should be drawn with their cache, false otherwise

measureChild

Added in API level 1
protected void measureChild (View child, 
                int parentWidthMeasureSpec, 
                int parentHeightMeasureSpec)

Ask one of the children of this view to measure itself, taking into account both the MeasureSpec requirements for this view and its padding. The heavy lifting is done in getChildMeasureSpec.

Parameters
child View: The child to measure

parentWidthMeasureSpec int: The width requirements for this view

parentHeightMeasureSpec int: The height requirements for this view

measureChildWithMargins

Added in API level 1
protected void measureChildWithMargins (View child, 
                int parentWidthMeasureSpec, 
                int widthUsed, 
                int parentHeightMeasureSpec, 
                int heightUsed)

Ask one of the children of this view to measure itself, taking into account both the MeasureSpec requirements for this view and its padding and margins. The child must have MarginLayoutParams The heavy lifting is done in getChildMeasureSpec.

Parameters
child View: The child to measure

parentWidthMeasureSpec int: The width requirements for this view

widthUsed int: Extra space that has been used up by the parent horizontally (possibly by other children of the parent)

parentHeightMeasureSpec int: The height requirements for this view

heightUsed int: Extra space that has been used up by the parent vertically (possibly by other children of the parent)

measureChildren

Added in API level 1
protected void measureChildren (int widthMeasureSpec, 
                int heightMeasureSpec)

Ask all of the children of this view to measure themselves, taking into account both the MeasureSpec requirements for this view and its padding. We skip children that are in the GONE state The heavy lifting is done in getChildMeasureSpec.

Parameters
widthMeasureSpec int: The width requirements for this view

heightMeasureSpec int: The height requirements for this view

onAttachedToWindow

Added in API level 1
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.

onCreateDrawableState

Added in API level 1
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.

onDetachedFromWindow

Added in API level 1
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.

onLayout

Added in API level 1
protected abstract void onLayout (boolean changed, 
                int l, 
                int t, 
                int r, 
                int b)

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

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

onRequestFocusInDescendants

Added in API level 1
protected boolean onRequestFocusInDescendants (int direction, 
                Rect previouslyFocusedRect)

Look for a descendant to call View.requestFocus on. Called by ViewGroup.requestFocus(int, android.graphics.Rect) when it wants to request focus within its children. Override this to customize how your ViewGroup requests focus within its children.

Parameters
direction int: One of FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, and FOCUS_RIGHT

previouslyFocusedRect Rect: The rectangle (in this View's coordinate system) to give a finer grained hint about where focus is coming from. May be null if there is no hint.

Returns
boolean Whether focus was taken.

removeDetachedView

Added in API level 1
protected void removeDetachedView (View child, 
                boolean animate)

Finishes the removal of a detached view. This method will dispatch the detached from window event and notify the hierarchy change listener.

This method is intended to be lightweight and makes no assumptions about whether the parent or child should be redrawn. Proper use of this method will include also making any appropriate View.requestLayout() or View.invalidate() calls. For example, callers can post a Runnable which performs a View.requestLayout() on the next frame, after all detach/remove calls are finished, causing layout to be run prior to redrawing the view hierarchy.

Parameters
child View: the child to be definitely removed from the view hierarchy

animate boolean: if true and the view has an animation, the view is placed in the disappearing views list, otherwise, it is detached from the window

setChildrenDrawingCacheEnabled

Added in API level 1
Deprecated in API level 28
protected void setChildrenDrawingCacheEnabled (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, View.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 View.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 for each child of this view group.

Parameters
enabled boolean: true to enable the cache, false to dispose of it

setChildrenDrawingOrderEnabled

Added in API level 7
protected void setChildrenDrawingOrderEnabled (boolean enabled)

Tells the ViewGroup whether to draw its children in the order defined by the method getChildDrawingOrder(int, int).

Note that Z reordering, done by dispatchDraw(android.graphics.Canvas), will override custom child ordering done via this method.

Parameters
enabled boolean: true if the order of the children when drawing is determined by getChildDrawingOrder(int, int), false otherwise

setChildrenDrawnWithCacheEnabled

Added in API level 1
Deprecated in API level 23
protected void setChildrenDrawnWithCacheEnabled (boolean enabled)

This method was deprecated in API level 23.
As of Build.VERSION_CODES.M, this property is ignored. Child views may no longer be forced to cache their rendering state by their parents. Use View.setLayerType(int, Paint) on individual Views instead.

Tells the ViewGroup to draw its children using their drawing cache. This property is ignored when isAlwaysDrawnWithCacheEnabled() is true. A child's drawing cache will be used only if it has been enabled. Subclasses should call this method to start and stop using the drawing cache when they perform performance sensitive operations, like scrolling or animating.

Parameters
enabled boolean: true if children should be drawn with their cache, false otherwise

setStaticTransformationsEnabled

Added in API level 3
protected void setStaticTransformationsEnabled (boolean enabled)

When this property is set to true, this ViewGroup supports static transformations on children; this causes getChildStaticTransformation(android.view.View, android.view.animation.Transformation) to be invoked when a child is drawn. Any subclass overriding getChildStaticTransformation(android.view.View, android.view.animation.Transformation) should set this property to true.

Parameters
enabled boolean: True to enable static transformations on children, false otherwise.