Merge "Add the possibility to modify the View focus rect"

This commit is contained in:
Jean-Baptiste Queru
2012-06-23 05:52:52 -07:00
committed by android code review
3 changed files with 15 additions and 2 deletions

View File

@@ -23034,6 +23034,7 @@ package android.view {
method public void getDrawingRect(android.graphics.Rect);
method public long getDrawingTime();
method public boolean getFilterTouchesWhenObscured();
method public void getFocusRect(android.graphics.Rect);
method public java.util.ArrayList<android.view.View> getFocusables(int);
method public void getFocusedRect(android.graphics.Rect);
method public boolean getGlobalVisibleRect(android.graphics.Rect, android.graphics.Point);

View File

@@ -181,8 +181,8 @@ public class FocusFinder {
// only interested in other non-root views
if (focusable == focused || focusable == root) continue;
// get visible bounds of other view in same coordinate system
focusable.getDrawingRect(mOtherRect);
// get focus bounds of other view in same coordinate system
focusable.getFocusRect(mOtherRect);
root.offsetDescendantRectToMyCoords(focusable, mOtherRect);
if (isBetterCandidate(direction, focusedRect, mOtherRect, mBestCandidateRect)) {

View File

@@ -7129,6 +7129,18 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
}
/**
* When searching for a view to focus this rectangle is used when considering if this view is
* a good candidate for receiving focus.
*
* By default, the rectangle is the {@link #getDrawingRect}) of the view.
*
* @param r The rectangle to fill in, in this view's coordinates.
*/
public void getFocusRect(Rect r) {
getDrawingRect(r);
}
/**
* Utility method to retrieve the inverse of the current mMatrix property.
* We cache the matrix to avoid recalculating it when transform properties
* have not changed.