コード例 #1
0
  // According to the event's position, change the focus to the first
  // hitting cropping rectangle.
  private void recomputeFocus(MotionEvent event) {

    for (int i = 0; i < mHighlightViews.size(); i++) {
      HighlightView hv = mHighlightViews.get(i);
      hv.setFocus(false);
      hv.invalidate();
    }

    for (int i = 0; i < mHighlightViews.size(); i++) {
      HighlightView hv = mHighlightViews.get(i);
      int edge = hv.getHit(event.getX(), event.getY());
      if (edge != HighlightView.GROW_NONE) {
        if (!hv.hasFocus()) {
          hv.setFocus(true);
          hv.invalidate();
        }
        break;
      }
    }
    invalidate();
  }