diff options
| author | Vladislav Kaznacheev <kaznacheev@google.com> | 2017-11-29 09:30:11 -0800 |
|---|---|---|
| committer | Vladislav Kaznacheev <kaznacheev@google.com> | 2017-11-29 09:30:11 -0800 |
| commit | bdd2c25ef69148e52dd406615efbd4e5ad41b335 (patch) | |
| tree | aea2ee932482295a6a46c27cdfc25a5c89b73483 /core/java | |
| parent | dd74774c863b964d60d37288d598efbd167bdc0f (diff) | |
Fix horizontal position of tooltip in a Dialog
When calculating the horizontal offset, use the top level view's width
instead of getWindowVisibleDisplayFrame (which is misleading for Dialog
windows).
Bug: 69911773
Test: manual
Change-Id: I040917d5beb123cc137da5a0c926a45a12e66234
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/view/TooltipPopup.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/java/com/android/internal/view/TooltipPopup.java b/core/java/com/android/internal/view/TooltipPopup.java index d38ea2c19af4..24f0b0cc91c5 100644 --- a/core/java/com/android/internal/view/TooltipPopup.java +++ b/core/java/com/android/internal/view/TooltipPopup.java @@ -142,7 +142,7 @@ public class TooltipPopup { mTmpAnchorPos[1] -= mTmpAppPos[1]; // mTmpAnchorPos is now relative to the main app window. - outParams.x = mTmpAnchorPos[0] + offsetX - mTmpDisplayFrame.width() / 2; + outParams.x = mTmpAnchorPos[0] + offsetX - appView.getWidth() / 2; final int spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); mContentView.measure(spec, spec); @@ -157,6 +157,9 @@ public class TooltipPopup { outParams.y = yBelow; } } else { + // Use mTmpDisplayFrame.height() as the lower boundary instead of appView.getHeight(), + // as the latter includes the navigation bar, and tooltips do not look good over + // the navigation bar. if (yBelow + tooltipHeight <= mTmpDisplayFrame.height()) { outParams.y = yBelow; } else { |
