diff options
| author | 2017-04-06 05:20:11 +0000 | |
|---|---|---|
| committer | 2017-04-06 05:20:18 +0000 | |
| commit | 0c5dfd90b8d403383b8fbb800fd637b6fc09fbfa (patch) | |
| tree | 27d013a18cc18638a4e4e74b8f9aa14e2000cea5 | |
| parent | 0b7d43c98506fad5ea37db4f969db5c61b2ab4e2 (diff) | |
| parent | adf08d4eb9de23a3f5ebff681f48bce6ab5b645a (diff) | |
Merge "Fix anchor overlap handling in ListPopupWindow" into oc-dev
| -rw-r--r-- | core/java/android/widget/ListPopupWindow.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/widget/ListPopupWindow.java b/core/java/android/widget/ListPopupWindow.java index ab4cce479005..2e8faeec6f13 100644 --- a/core/java/android/widget/ListPopupWindow.java +++ b/core/java/android/widget/ListPopupWindow.java @@ -76,6 +76,7 @@ public class ListPopupWindow implements ShowableListMenu { private boolean mDropDownVerticalOffsetSet; private boolean mIsAnimatedFromAnchor = true; private boolean mOverlapAnchor; + private boolean mOverlapAnchorSet; private int mDropDownGravity = Gravity.NO_GRAVITY; @@ -681,7 +682,9 @@ public class ListPopupWindow implements ShowableListMenu { mPopup.setOutsideTouchable(!mForceIgnoreOutsideTouch && !mDropDownAlwaysVisible); mPopup.setTouchInterceptor(mTouchInterceptor); mPopup.setEpicenterBounds(mEpicenterBounds); - mPopup.setOverlapAnchor(mOverlapAnchor); + if (mOverlapAnchorSet) { + mPopup.setOverlapAnchor(mOverlapAnchor); + } mPopup.showAsDropDown(getAnchorView(), mDropDownHorizontalOffset, mDropDownVerticalOffset, mDropDownGravity); mDropDownList.setSelection(ListView.INVALID_POSITION); @@ -1259,6 +1262,7 @@ public class ListPopupWindow implements ShowableListMenu { * @hide */ public void setOverlapAnchor(boolean overlap) { + mOverlapAnchorSet = true; mOverlapAnchor = overlap; } |