Lines Matching refs:child

108      * apply on the child being drawn.
130 // Does this group have a child that can accept the current drag payload?
193 // When set, ViewGroup invalidates only the child's rectangle
202 // a child needs to be invalidated and FLAG_OPTIMIZE_INVALIDATE is set
237 * to get the index of the child to draw for that iteration.
246 * invoked when a child is drawn.
315 * When set, this ViewGroup will split MotionEvents to multiple child Views when appropriate.
380 // Index of the child's left position in the mLocation array
382 // Index of the child's top position in the mLocation array
415 // Indicates how many of this container's child subtrees contain transient state
568 public void requestChildFocus(View child, View focused) {
580 if (mFocused != child) {
585 mFocused = child;
649 public boolean requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate) {
657 public boolean requestSendAccessibilityEvent(View child, AccessibilityEvent event) {
662 final boolean propagate = onRequestSendAccessibilityEvent(child, event);
670 * Called when a child has requested sending an {@link AccessibilityEvent} and
679 * @param child The child which requests sending the event.
685 public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) {
687 return mAccessibilityDelegate.onRequestSendAccessibilityEvent(this, child, event);
689 return onRequestSendAccessibilityEventInternal(child, event);
698 boolean onRequestSendAccessibilityEventInternal(View child, AccessibilityEvent event) {
703 * Called when a child view has changed whether or not it is tracking transient state.
707 public void childHasTransientStateChanged(View child, boolean childHasTransientState) {
746 public void clearChildFocus(View child) {
791 * Returns the focused child of this view, if any. The child may have focus
794 * @return the focused child or null.
819 + isFocused() + ", child=" + mFocused);
851 final View child = children[i];
852 if (child.hasFocusable()) {
875 final View child = children[i];
876 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
877 child.addFocusables(views, direction, focusableMode);
899 View child = children[i];
900 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE
901 && (child.mPrivateFlags & PFLAG_IS_ROOT_NAMESPACE) == 0) {
902 child.findViewsWithText(outViews, text, flags);
916 View child = children[i];
917 foundView = child.findViewByAccessibilityIdTraversal(accessibilityId);
949 final View child = children[i];
950 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
951 child.addTouchables(views);
986 * @param child The view whose visibility has changed
991 protected void onChildVisibilityChanged(View child, int oldVisibility, int newVisibility) {
994 mTransition.showChild(this, child, oldVisibility);
996 mTransition.hideChild(this, child, newVisibility);
997 if (mTransitioningViews != null && mTransitioningViews.contains(child)) {
1003 mVisibilityChangingChildren.add(child);
1004 addDisappearingView(child);
1012 notifyChildOfDrag(child);
1059 public void recomputeViewAttributes(View child) {
1073 final View child = children[i];
1074 child.dispatchCollectViewAttributes(attachInfo,
1075 visibility | (child.mViewFlags&VISIBILITY_MASK));
1083 public void bringChildToFront(View child) {
1084 int index = indexOfChild(child);
1087 addInArray(child, mChildrenCount);
1088 child.mParent = this;
1123 final View child = children[i];
1124 child.mPrivateFlags2 &= ~View.DRAG_MASK;
1125 if (child.getVisibility() == VISIBLE) {
1142 for (View child : mDragNotifiedChildren) {
1143 // If a child was notified about an ongoing drag, it's told that it's over
1144 child.dispatchDragEvent(event);
1145 child.mPrivateFlags2 &= ~View.DRAG_MASK;
1146 child.refreshDrawableState();
1175 // If we've dragged off of a child view, send it the EXITED message
1185 // If we've dragged over a new child view, send it the ENTERED message
1212 * push a DRAG_ENTERED down to the new target child [which may itself be a ViewGroup].
1256 // Find the frontmost child view that lies under the given point, and calculate
1262 final View child = children[i];
1263 if (!child.canAcceptDrag()) {
1267 if (isTransformedTouchPointInView(x, y, child, outLocalPoint)) {
1268 return child;
1274 boolean notifyChildOfDrag(View child) {
1276 Log.d(View.VIEW_LOG_TAG, "Sending drag-started to view: " + child);
1280 if (! mDragNotifiedChildren.contains(child)) {
1281 mDragNotifiedChildren.add(child);
1282 canAccept = child.dispatchDragEvent(mCurrentDrag);
1283 if (canAccept && !child.canAcceptDrag()) {
1284 child.mPrivateFlags2 |= View.PFLAG2_DRAG_CAN_ACCEPT;
1285 child.refreshDrawableState();
1298 final View child = children[i];
1299 child.dispatchWindowSystemUiVisiblityChanged(visible);
1310 final View child = children[i];
1311 child.dispatchSystemUiVisibilityChanged(visible);
1322 final View child = children[i];
1323 changed |= child.updateLocalSystemUiVisibility(localValue, localChanges);
1439 final View child = children[i];
1440 if (!canViewReceivePointerEvents(child)
1441 || !isTransformedTouchPointInView(x, y, child, null)) {
1445 // Obtain a hover target for this child. Dequeue it from the
1446 // old hover target list if the child was previously hovered.
1451 hoverTarget = HoverTarget.obtain(child);
1456 if (hoverTarget.child == child) {
1479 // Dispatch the event to the child.
1484 event, child); // enter
1492 eventNoHistory, child); // enter
1496 eventNoHistory, child); // move
1499 handled |= dispatchTransformedGenericPointerEvent(event, child);
1511 final View child = firstOldHoverTarget.child;
1513 // Exit the old hovered child.
1517 event, child); // exit
1523 event, child); // move
1528 eventNoHistory, child); // exit
1608 if (target.child == view) {
1641 View child = children.getChildAt(i);
1642 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
1643 if (child.includeForAccessibility()) {
1644 childrenForAccessibility.add(child);
1646 child.addChildrenForAccessibility(childrenForAccessibility);
1659 public void childAccessibilityStateChanged(View child) {
1661 mParent.childAccessibilityStateChanged(child);
1667 * by child views.
1669 * This method is called before dispatching a hover event to a child of
1674 * a child of the view group rather than over the view group itself.
1685 * child to the view group or vice-versa as needed.
1687 * If this method returns <code>true</code> and a child is already hovered, then the
1688 * child view will first receive a hover exit event and then the view group
1692 * within the bounds of one of a child, then the view group will first receive a
1693 * hover exit event in {@link #onHoverEvent} and then the hovered child will
1719 // Send the event to the child under the pointer.
1729 final View child = children[childIndex];
1730 if (!canViewReceivePointerEvents(child)
1731 || !isTransformedTouchPointInView(x, y, child, null)) {
1735 if (dispatchTransformedGenericPointerEvent(event, child)) {
1741 // No child handled the event. Send it to this view group.
1750 // Send the event to the focused child or to this view group if it has focus.
1762 * Dispatches a generic pointer event to a child, taking into account
1763 * transformations that apply to the child.
1766 * @param child The view to send the event to.
1767 * @return {@code true} if the child handled the event.
1769 private boolean dispatchTransformedGenericPointerEvent(MotionEvent event, View child) {
1770 final float offsetX = mScrollX - child.mLeft;
1771 final float offsetY = mScrollY - child.mTop;
1774 if (!child.hasIdentityMatrix()) {
1777 transformedEvent.transform(child.getInverseMatrix());
1778 handled = child.dispatchGenericMotionEvent(transformedEvent);
1782 handled = child.dispatchGenericMotionEvent(event);
1850 // Find a child that can receive the event.
1860 final View child = children[childIndex];
1861 if (!canViewReceivePointerEvents(child)
1862 || !isTransformedTouchPointInView(x, y, child, null)) {
1866 newTouchTarget = getTouchTarget(child);
1874 resetCancelNextUpFlag(child);
1875 if (dispatchTransformedTouchEvent(ev, false, child, idBitsToAssign)) {
1881 newTouchTarget = addTouchTarget(child, idBitsToAssign);
1889 // Did not find a child to receive the event.
1915 final boolean cancelChild = resetCancelNextUpFlag(target.child)
1918 target.child, target.pointerIdBits)) {
2006 resetCancelNextUpFlag(target.child);
2007 dispatchTransformedTouchEvent(event, true, target.child, target.pointerIdBits);
2018 * Gets the touch target for specified child view.
2021 private TouchTarget getTouchTarget(View child) {
2023 if (target.child == child) {
2031 * Adds a touch target for specified child to the beginning of the list.
2032 * Assumes the target child is not already present.
2034 private TouchTarget addTouchTarget(View child, int pointerIdBits) {
2035 TouchTarget target = TouchTarget.obtain(child, pointerIdBits);
2072 if (target.child == view) {
2094 * Returns true if a child view can receive pointer events.
2097 private static boolean canViewReceivePointerEvents(View child) {
2098 return (child.mViewFlags & VISIBILITY_MASK) == VISIBLE
2099 || child.getAnimation() != null;
2103 * Returns true if a child view contains the specified point when transformed
2108 protected boolean isTransformedTouchPointInView(float x, float y, View child,
2110 float localX = x + mScrollX - child.mLeft;
2111 float localY = y + mScrollY - child.mTop;
2112 if (! child.hasIdentityMatrix() && mAttachInfo != null) {
2116 child.getInverseMatrix().mapPoints(localXY);
2120 final boolean isInView = child.pointInView(localX, localY);
2128 * Transforms a motion event into the coordinate space of a particular child view,
2130 * If child is null, assumes the MotionEvent will be sent to this ViewGroup instead.
2133 View child, int desiredPointerIdBits) {
2141 if (child == null) {
2144 handled = child.dispatchTouchEvent(event);
2166 if (child == null || child.hasIdentityMatrix()) {
2167 if (child == null) {
2170 final float offsetX = mScrollX - child.mLeft;
2171 final float offsetY = mScrollY - child.mTop;
2174 handled = child.dispatchTouchEvent(event);
2186 if (child == null) {
2189 final float offsetX = mScrollX - child.mLeft;
2190 final float offsetY = mScrollY - child.mTop;
2192 if (! child.hasIdentityMatrix()) {
2193 transformedEvent.transform(child.getInverseMatrix());
2196 handled = child.dispatchTouchEvent(transformedEvent);
2209 * <p>When this option is enabled MotionEvents may be split and dispatched to different child
2215 * child views. <code>false</code> to only allow one child view to be the target of
2220 // but perhaps this should handle that case and send ACTION_CANCELs to any child views
2272 * <li> The down event will be handled either by a child of this view
2369 View child = children[i];
2370 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
2371 if (child.requestFocus(direction, previouslyFocusedRect)) {
2421 final View child = children[i];
2422 child.dispatchAttachedToWindow(info,
2423 visibility | (child.mViewFlags&VISIBILITY_MASK));
2452 View child = children.getChildAt(i);
2453 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
2454 handled = child.dispatchPopulateAccessibilityEvent(event);
2475 View child = childrenForAccessibility.get(i);
2476 info.addChild(child);
2497 View child = children[i];
2498 child.resetAccessibilityStateChanged();
2508 // dispatching motion events to a child; we need to get rid of that
2509 // child to avoid dispatching events to it after the window is torn
2510 // down. To make sure we keep the child in a consistent state, we
2606 * Enables or disables the drawing cache for each child of this view group.
2631 final View child = children[i];
2632 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
2633 child.setDrawingCacheEnabled(true);
2635 child.buildDrawingCache(true);
2666 View child = getChildAt(i);
2667 visibilities[i] = child.getVisibility();
2669 child.setVisibility(INVISIBLE);
2743 final View child = children[i];
2744 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
2745 final LayoutParams params = child.getLayoutParams();
2746 attachLayoutAnimationParameters(child, params, i, count);
2747 bindLayoutAnimation(child);
2749 child.setDrawingCacheEnabled(true);
2751 child.buildDrawingCache(true);
2786 // We will draw our child's animation, let's reset the flag
2795 final View child = children[i];
2796 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE || child.getAnimation() != null) {
2797 more |= drawChild(canvas, child, drawingTime);
2802 final View child = children[getChildDrawingOrder(count, i)];
2803 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE || child.getAnimation() != null) {
2804 more |= drawChild(canvas, child, drawingTime);
2815 final View child = disappearingChildren.get(i);
2816 more |= drawChild(canvas, child, drawingTime);
2851 * Returns the index of the child to draw for this iteration. Override this
2855 * NOTE: In order for this method to be called, you must enable child ordering
2859 * @return The index of the child to draw this iteration.
2904 final View child = children[i];
2905 if (((child.mViewFlags & VISIBILITY_MASK) == VISIBLE || child.getAnimation() != null) &&
2906 child.hasStaticLayer()) {
2907 child.mRecreateDisplayList = (child.mPrivateFlags & PFLAG_INVALIDATED)
2909 child.mPrivateFlags &= ~PFLAG_INVALIDATED;
2910 child.getDisplayList();
2911 child.mRecreateDisplayList = false;
2917 * Draw one child of this View Group. This method is responsible for getting
2919 * that the child's scrolled origin is at 0, 0, and applying any animation
2922 * @param canvas The canvas on which to draw the child
2923 * @param child Who to draw
2927 protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
2928 return child.draw(canvas, this, drawingTime);
2944 View child = getChildAt(i);
2945 if (child.mDisplayList != null) {
2946 child.mDisplayList.setClipChildren(clipChildren);
2993 final View child = children[i];
2997 if (!pressed || (!child.isClickable() && !child.isLongClickable())) {
2998 child.setPressed(pressed);
3007 * invoked when a child is drawn.
3022 * Sets <code>t</code> to be the static transformation of the child, if set, returning a
3028 * @param child The child view whose static transform is being requested
3033 protected boolean getChildStaticTransformation(View child, Transformation t) {
3119 * <p>Adds a child view. If no layout parameters are already set on the child, the
3120 * default parameters for this ViewGroup are set on the child.</p>
3126 * @param child the child view to add
3130 public void addView(View child) {
3131 addView(child, -1);
3135 * Adds a child view. If no layout parameters are already set on the child, the
3136 * default parameters for this ViewGroup are set on the child.
3142 * @param child the child view to add
3143 * @param index the position at which to add the child
3147 public void addView(View child, int index) {
3148 LayoutParams params = child.getLayoutParams();
3155 addView(child, index, params);
3159 * Adds a child view with this ViewGroup's default layout parameters and the
3166 * @param child the child view to add
3168 public void addView(View child, int width, int height) {
3172 addView(child, -1, params);
3176 * Adds a child view with the specified layout parameters.
3182 * @param child the child view to add
3183 * @param params the layout parameters to set on the child
3185 public void addView(View child, LayoutParams params) {
3186 addView(child, -1, params);
3190 * Adds a child view with the specified layout parameters.
3196 * @param child the child view to add
3197 * @param index the position at which to add the child
3198 * @param params the layout parameters to set on the child
3200 public void addView(View child, int index, LayoutParams params) {
3205 // addViewInner() will call child.requestLayout() when setting the new LayoutParams
3206 // therefore, we call requestLayout() on ourselves before, so that the child's request
3210 addViewInner(child, index, params, false);
3221 throw new IllegalArgumentException("Given view not a child of " + this);
3235 * within this view changed. The hierarchy changes whenever a child is added
3240 * Called when a new child is added to a parent view.
3242 * @param parent the view in which a child was added
3243 * @param child the new child view added in the hierarchy
3245 void onChildViewAdded(View parent, View child);
3248 * Called when a child is removed from a parent view.
3250 * @param parent the view from which the child was removed
3251 * @param child the child removed from the hierarchy
3253 void onChildViewRemoved(View parent, View child);
3257 * Register a callback to be invoked when a child is added to or removed
3269 protected void onViewAdded(View child) {
3271 mOnHierarchyChangeListener.onChildViewAdded(this, child);
3278 protected void onViewRemoved(View child) {
3280 mOnHierarchyChangeListener.onChildViewRemoved(this, child);
3290 * @param child the view to add to the group
3291 * @param index the index at which the child must be added
3292 * @param params the layout parameters to associate with the child
3293 * @return true if the child was added, false otherwise
3295 protected boolean addViewInLayout(View child, int index, LayoutParams params) {
3296 return addViewInLayout(child, index, params, false);
3305 * @param child the view to add to the group
3306 * @param index the index at which the child must be added
3307 * @param params the layout parameters to associate with the child
3309 * layout request on child
3310 * @return true if the child was added, false otherwise
3312 protected boolean addViewInLayout(View child, int index, LayoutParams params,
3314 child.mParent = null;
3315 addViewInner(child, index, params, preventRequestLayout);
3316 child.mPrivateFlags = (child.mPrivateFlags & ~PFLAG_DIRTY_MASK) | PFLAG_DRAWN;
3321 * Prevents the specified child to be laid out during the next layout pass.
3323 * @param child the child on which to perform the cleanup
3325 protected void cleanupLayoutState(View child) {
3326 child.mPrivateFlags &= ~View.PFLAG_FORCE_LAYOUT;
3329 private void addViewInner(View child, int index, LayoutParams params,
3338 if (child.getParent() != null) {
3339 throw new IllegalStateException("The specified child already has a parent. " +
3340 "You must call removeView() on the child's parent first.");
3344 mTransition.addChild(this, child);
3352 child.mLayoutParams = params;
3354 child.setLayoutParams(params);
3361 addInArray(child, index);
3365 child.assignParent(this);
3367 child.mParent = this;
3370 if (child.hasFocus()) {
3371 requestChildFocus(child, child.findFocus());
3378 child.dispatchAttachedToWindow(mAttachInfo, (mViewFlags&VISIBILITY_MASK));
3385 if (child.isLayoutDirectionInherited()) {
3386 child.resetRtlProperties();
3389 onViewAdded(child);
3391 if ((child.mViewFlags & DUPLICATE_PARENT_STATE) == DUPLICATE_PARENT_STATE) {
3395 if (child.hasTransientState()) {
3396 childHasTransientStateChanged(child, true);
3400 private void addInArray(View child, int index) {
3410 children[mChildrenCount++] = child;
3420 children[index] = child;
3430 // This method also sets the child's mParent to null
3487 private void bindLayoutAnimation(View child) {
3488 Animation a = mLayoutAnimationController.getAnimationForView(child);
3489 child.setAnimation(a);
3494 * parameters on the supplied child.
3496 * @param child the child to associate with animation parameters
3497 * @param params the child's layout parameters which hold the animation
3499 * @param index the index of the child in the view group
3502 protected void attachLayoutAnimationParameters(View child,
3722 * Call this method to remove all child views from the
3736 * Called by a ViewGroup subclass to remove child views from itself,
3738 * child views it will render. An example is a Gallery or a ListView, which
3808 * parent or child should be redrawn. Proper use of this method will include also making
3814 * @param child the child to be definitely removed from the view hierarchy
3823 protected void removeDetachedView(View child, boolean animate) {
3825 mTransition.removeChild(this, child);
3828 if (child == mFocused) {
3829 child.clearFocus();
3832 child.clearAccessibilityFocus();
3834 cancelTouchTarget(child);
3835 cancelHoverTarget(child);
3837 if ((animate && child.getAnimation() != null) ||
3838 (mTransitioningViews != null && mTransitioningViews.contains(child))) {
3839 addDisappearingView(child);
3840 } else if (child.mAttachInfo != null) {
3841 child.dispatchDetachedFromWindow();
3844 if (child.hasTransientState()) {
3845 childHasTransientStateChanged(child, false);
3848 onViewRemoved(child);
3857 * parent or child should be redrawn. Proper use of this method will include also making
3865 * @param child the child to attach
3866 * @param index the index at which the child should be attached
3867 * @param params the layout parameters of the child
3874 protected void attachViewToParent(View child, int index, LayoutParams params) {
3875 child.mLayoutParams = params;
3881 addInArray(child, index);
3883 child.mParent = this;
3884 child.mPrivateFlags = (child.mPrivateFlags & ~PFLAG_DIRTY_MASK
3889 if (child.hasFocus()) {
3890 requestChildFocus(child, child.findFocus());
3903 * @param child the child to detach
3911 protected void detachViewFromParent(View child) {
3912 removeFromArray(indexOfChild(child));
3924 * @param index the index of the child to detach
3992 public final void invalidateChild(View child, final Rect dirty) {
3997 // If the child is drawing an animation, we want to copy this flag onto
4000 final boolean drawAnimation = (child.mPrivateFlags & PFLAG_DRAW_ANIMATION)
4003 // Check whether the child that requests the invalidate is fully opaque
4006 Matrix childMatrix = child.getMatrix();
4007 final boolean isOpaque = child.isOpaque() && !drawAnimation &&
4008 child.getAnimation() == null && childMatrix.isIdentity();
4009 // Mark the child as dirty, using the appropriate flag
4013 if (child.mLayerType != LAYER_TYPE_NONE) {
4016 child.mLocalDirtyRect.union(dirty);
4020 location[CHILD_LEFT_INDEX] = child.mLeft;
4021 location[CHILD_TOP_INDEX] = child.mTop;
4029 boolean transformed = getChildStaticTransformation(child, t);
4064 // flag coming from the child that initiated the invalidate
4160 public void invalidateChildFast(View child, final Rect dirty) {
4165 if (child.mLayerType != LAYER_TYPE_NONE) {
4166 child.mLocalDirtyRect.union(dirty);
4169 int left = child.mLeft;
4170 int top = child.mTop;
4171 if (!child.getMatrix().isIdentity()) {
4172 child.transformRect(dirty);
4324 public boolean getChildVisibleRect(View child, Rect r, android.graphics.Point offset) {
4331 if (!child.hasIdentityMatrix()) {
4332 child.getMatrix().mapRect(rect);
4335 int dx = child.mLeft - mScrollX;
4336 int dy = child.mTop - mScrollY;
4341 if (!child.hasIdentityMatrix()) {
4346 child.getMatrix().mapPoints(position);
4524 * is ignored when {@link #isAlwaysDrawnWithCacheEnabled()} is true. A child's drawing cache
4705 View child = mChildren[i];
4706 child.debug(depth + 1);
4717 * Returns the position in the group of the specified child view.
4719 * @param child the view for which to get the position
4723 public int indexOfChild(View child) {
4727 if (children[i] == child) {
4771 final View child = children[i];
4772 if ((child.mViewFlags & VISIBILITY_MASK) != GONE) {
4773 measureChild(child, widthMeasureSpec, heightMeasureSpec);
4783 * @param child The child to measure
4787 protected void measureChild(View child, int parentWidthMeasureSpec,
4789 final LayoutParams lp = child.getLayoutParams();
4796 child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
4802 * and margins. The child must have MarginLayoutParams The heavy lifting is
4805 * @param child The child to measure
4813 protected void measureChildWithMargins(View child,
4816 final MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams();
4825 child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
4830 * pass to a particular child. This method figures out the right MeasureSpec
4831 * for one dimension (height or width) of one child view.
4834 * LayoutParams of the child to get the best possible results. For example,
4836 * EXACTLY), and the child has indicated in its LayoutParams that it wants
4837 * to be the same size as the parent, the parent should ask the child to
4843 * @param childDimension How big the child wants to be in the current
4845 * @return a MeasureSpec integer for the child
4882 // Constrain child to not be bigger than us.
5081 final View child = children[i];
5082 if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE || child.getAnimation() != null) {
5083 if (!child.gatherTransparentRegion(region)) {
5094 public void requestTransparentRegion(View child) {
5095 if (child != null) {
5096 child.mPrivateFlags |= View.PFLAG_REQUEST_TRANSPARENT_REGIONS;
5137 + " child has duplicateParentState set to true");
5144 final View child = children[i];
5145 if ((child.mViewFlags & DUPLICATE_PARENT_STATE) != 0) {
5146 child.refreshDrawableState();
5194 * make a group appear to be focused when its child EditText or button
5210 * make a group appear to be focused when its child EditText or button
5221 public void childDrawableStateChanged(View child) {
5265 final View child = getChildAt(i);
5266 if (child.isLayoutDirectionInherited()) {
5267 child.resolveRtlPropertiesIfNeeded();
5281 final View child = getChildAt(i);
5282 if (child.isLayoutDirectionInherited()) {
5283 child.resolveLayoutDirection();
5299 final View child = getChildAt(i);
5300 if (child.isTextDirectionInherited()) {
5301 child.resolveTextDirection();
5317 final View child = getChildAt(i);
5318 if (child.isTextAlignmentInherited()) {
5319 child.resolveTextAlignment();
5334 final View child = getChildAt(i);
5335 if (child.isLayoutDirectionInherited()) {
5336 child.resolvePadding();
5349 final View child = getChildAt(i);
5350 if (child.isLayoutDirectionInherited()) {
5351 child.resolveDrawables();
5364 final View child = getChildAt(i);
5365 child.resolveLayoutParams();
5378 final View child = getChildAt(i);
5379 if (child.isLayoutDirectionInherited()) {
5380 child.resetResolvedLayoutDirection();
5394 final View child = getChildAt(i);
5395 if (child.isTextDirectionInherited()) {
5396 child.resetResolvedTextDirection();
5410 final View child = getChildAt(i);
5411 if (child.isTextAlignmentInherited()) {
5412 child.resetResolvedTextAlignment();
5426 final View child = getChildAt(i);
5427 if (child.isLayoutDirectionInherited()) {
5428 child.resetResolvedPadding();
5442 final View child = getChildAt(i);
5443 if (child.isLayoutDirectionInherited()) {
5444 child.resetResolvedDrawables();
5463 protected void onSetLayoutParams(View child, LayoutParams layoutParams) {
5470 * for a list of all child view attributes that this class supports.
5676 * Per-child layout information for layouts that support margins.
5679 * for a list of all child view attributes that this class supports.
5683 * The left margin in pixels of the child.
5691 * The top margin in pixels of the child.
5699 * The right margin in pixels of the child.
5707 * The bottom margin in pixels of the child.
5715 * The start margin in pixels of the child.
5723 * The end margin in pixels of the child.
6025 // The touched child view.
6026 public View child;
6037 public static TouchTarget obtain(View child, int pointerIdBits) {
6049 target.child = child;
6063 child = null;
6075 // The hovered child view.
6076 public View child;
6084 public static HoverTarget obtain(View child) {
6096 target.child = child;
6109 child = null;
6176 public int getChildIndex(View child) {
6177 return mChildren.indexOf(child);
6184 View child = parent.getChildAt(i);
6185 children.add(child);
6190 View child = children.get(i);
6191 ViewLocationHolder holder = ViewLocationHolder.obtain(parent, child);