diff options
Diffstat (limited to 'core/java/android/view/ViewParent.java')
-rw-r--r-- | core/java/android/view/ViewParent.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/core/java/android/view/ViewParent.java b/core/java/android/view/ViewParent.java index 1a5d495..b456c5d 100644 --- a/core/java/android/view/ViewParent.java +++ b/core/java/android/view/ViewParent.java @@ -182,4 +182,30 @@ public interface ViewParent { * intercept touch events. */ public void requestDisallowInterceptTouchEvent(boolean disallowIntercept); + + /** + * Called when a child of this group wants a particular rectangle to be + * positioned onto the screen. {@link ViewGroup}s overriding this can trust + * that: + * <ul> + * <li>child will be a direct child of this group</li> + * <li>rectangle will be in the child's coordinates</li> + * </ul> + * + * <p>{@link ViewGroup}s overriding this should uphold the contract:</p> + * <ul> + * <li>nothing will change if the rectangle is already visible</li> + * <li>the view port will be scrolled only just enough to make the + * rectangle visible</li> + * <ul> + * + * @param child The direct child making the request. + * @param rectangle The rectangle in the child's coordinates the child + * wishes to be on the screen. + * @param immediate True to forbid animated or delayed scrolling, + * false otherwise + * @return Whether the group scrolled to handle the operation + */ + public boolean requestChildRectangleOnScreen(View child, Rect rectangle, + boolean immediate); } |