Java Code Examples for android.view.View.getFocusedRect()

The following are Jave code examples for showing how to use getFocusedRect() of the android.view.View class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: letv   File: HListView.java   View Source Code Vote up 7 votes
private boolean handleHorizontalFocusWithinListItem(int direction) {
    if (direction == 33 || direction == 130) {
        int numChildren = getChildCount();
        if (this.mItemsCanFocus && numChildren > 0 && this.mSelectedPosition != -1) {
            View selectedView = getSelectedView();
            if (selectedView != null && selectedView.hasFocus() && (selectedView instanceof ViewGroup)) {
                View currentFocus = selectedView.findFocus();
                View nextFocus = FocusFinder.getInstance().findNextFocus((ViewGroup) selectedView, currentFocus, direction);
                if (nextFocus != null) {
                    currentFocus.getFocusedRect(this.mTempRect);
                    offsetDescendantRectToMyCoords(currentFocus, this.mTempRect);
                    offsetRectIntoDescendantCoords(nextFocus, this.mTempRect);
                    if (nextFocus.requestFocus(direction, this.mTempRect)) {
                        return true;
                    }
                }
                View globalNextFocus = FocusFinder.getInstance().findNextFocus((ViewGroup) getRootView(), currentFocus, direction);
                if (globalNextFocus != null) {
                    return isViewAncestorOf(globalNextFocus, this);
                }
            }
        }
        return false;
    }
    throw new IllegalArgumentException("direction must be one of {View.FOCUS_UP, View.FOCUS_DOWN}");
}
 
Example 2
Project: exciting-app   File: HListView.java   View Source Code Vote up 6 votes
/**
 * To avoid horizontal focus searches changing the selected item, we
 * manually focus search within the selected item (as applicable), and
 * prevent focus from jumping to something within another item.
 * 
 * @param direction
 *            one of {View.FOCUS_LEFT, View.FOCUS_RIGHT}
 * @return Whether this consumes the key event.
 */
private boolean handleHorizontalFocusWithinListItem(int direction) {
	// TODO: implement this
	if (direction != View.FOCUS_UP && direction != View.FOCUS_DOWN) {
		throw new IllegalArgumentException("direction must be one of" + " {View.FOCUS_UP, View.FOCUS_DOWN}");
	}

	final int numChildren = getChildCount();
	if (mItemsCanFocus && numChildren > 0 && mSelectedPosition != INVALID_POSITION) {
		final View selectedView = getSelectedView();
		if (selectedView != null && selectedView.hasFocus() && selectedView instanceof ViewGroup) {

			final View currentFocus = selectedView.findFocus();
			final View nextFocus = FocusFinder.getInstance().findNextFocus((ViewGroup) selectedView, currentFocus,
					direction);
			if (nextFocus != null) {
				// do the math to get interesting rect in next focus'
				// coordinates
				currentFocus.getFocusedRect(mTempRect);
				offsetDescendantRectToMyCoords(currentFocus, mTempRect);
				offsetRectIntoDescendantCoords(nextFocus, mTempRect);
				if (nextFocus.requestFocus(direction, mTempRect)) {
					return true;
				}
			}
			// we are blocking the key from being handled (by returning
			// true)
			// if the global result is going to be some other view within
			// this
			// list. this is to acheive the overall goal of having
			// horizontal d-pad navigation remain in the current item.
			final View globalNextFocus = FocusFinder.getInstance().findNextFocus((ViewGroup) getRootView(),
					currentFocus, direction);
			if (globalNextFocus != null) {
				return isViewAncestorOf(globalNextFocus, this);
			}
		}
	}
	return false;
}
 
Example 3
Project: letv   File: AbsHListView.java   View Source Code Vote up 5 votes
public void getFocusedRect(Rect r) {
    View view = getSelectedView();
    if (view == null || view.getParent() != this) {
        super.getFocusedRect(r);
        return;
    }
    view.getFocusedRect(r);
    offsetDescendantRectToMyCoords(view, r);
}
 
Example 4
Project: exciting-app   File: AbsHListView.java   View Source Code Vote up 5 votes
@Override
public void getFocusedRect(Rect r) {
	View view = getSelectedView();
	if (view != null && view.getParent() == this) {
		// the focused rectangle of the selected view offset into the
		// coordinate space of this view.
		view.getFocusedRect(r);
		offsetDescendantRectToMyCoords(view, r);
	} else {
		// otherwise, just the norm
		super.getFocusedRect(r);
	}
}
 
Example 5
Project: FreeStreams-TVLauncher   File: FocusedRelativeLayout.java   View Source Code Vote up 5 votes
public void getFocusedRect(Rect paramRect) {
	View localView = getSelectedView();
	if (localView != null) {
		localView.getFocusedRect(paramRect);
		offsetDescendantRectToMyCoords(localView, paramRect);
		return;
	}
	super.getFocusedRect(paramRect);
}
 
Example 6
Project: boohee_v5.6   File: PLA_AbsListView.java   View Source Code Vote up 5 votes
public void getFocusedRect(Rect r) {
    View view = getSelectedView();
    if (view == null || view.getParent() != this) {
        super.getFocusedRect(r);
        return;
    }
    view.getFocusedRect(r);
    offsetDescendantRectToMyCoords(view, r);
}
 
Example 7
Project: Swap   File: PLA_AbsListView.java   View Source Code Vote up 5 votes
@Override
public void getFocusedRect(Rect r) {
    View view = getSelectedView();
    if (view != null && view.getParent() == this) {
        // the focused rectangle of the selected view offset into the
        // coordinate space of this view.
        view.getFocusedRect(r);
        offsetDescendantRectToMyCoords(view, r);
    } else {
        // otherwise, just the norm
        super.getFocusedRect(r);
    }
}