Merge "Fix the tooltip view can't be adjusted under the change of display or font size." into sc-dev

This commit is contained in:
PETER LIANG
2021-05-18 00:26:27 +00:00
committed by Android (Google) Code Review

View File

@@ -77,7 +77,6 @@ class BaseTooltipView extends FrameLayout {
mAnchorView = anchorView;
mCurrentLayoutParams = createDefaultLayoutParams();
updateDimensions();
initViews();
}
@@ -85,14 +84,8 @@ class BaseTooltipView extends FrameLayout {
protected void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
updateDimensions();
updateTextView();
mAnchorView.onConfigurationChanged(newConfig);
final Rect anchorViewLocation = mAnchorView.getWindowLocationOnScreen();
updateArrowWith(anchorViewLocation);
updateWidthWith(anchorViewLocation);
updateLocationWith(anchorViewLocation);
updateTooltipView();
mWindowManager.updateViewLayout(this, mCurrentLayoutParams);
}
@@ -129,10 +122,7 @@ class BaseTooltipView extends FrameLayout {
}
mIsShowing = true;
final Rect anchorViewLocation = mAnchorView.getWindowLocationOnScreen();
updateArrowWith(anchorViewLocation);
updateWidthWith(anchorViewLocation);
updateLocationWith(anchorViewLocation);
updateTooltipView();
mWindowManager.addView(this, mCurrentLayoutParams);
}
@@ -207,6 +197,16 @@ class BaseTooltipView extends FrameLayout {
R.dimen.accessibility_floating_tooltip_text_corner_radius);
}
private void updateTooltipView() {
updateDimensions();
updateTextView();
final Rect anchorViewLocation = mAnchorView.getWindowLocationOnScreen();
updateArrowWith(anchorViewLocation);
updateWidthWith(anchorViewLocation);
updateLocationWith(anchorViewLocation);
}
private void updateTextView() {
mTextView.setTextSize(COMPLEX_UNIT_PX, mFontSize);
mTextView.setPadding(mTextViewPadding, mTextViewPadding, mTextViewPadding,