Merge "Ensure FloatingToolbar is not rendered at negative x, y coordinates." into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d971a9d5f2
@@ -592,9 +592,11 @@ public final class FloatingToolbar {
|
|||||||
private void refreshCoordinatesAndOverflowDirection(Rect contentRectOnScreen) {
|
private void refreshCoordinatesAndOverflowDirection(Rect contentRectOnScreen) {
|
||||||
refreshViewPort();
|
refreshViewPort();
|
||||||
|
|
||||||
int x = contentRectOnScreen.centerX() - mPopupWindow.getWidth() / 2;
|
// Initialize x ensuring that the toolbar isn't rendered behind the nav bar in
|
||||||
// Update x so that the toolbar isn't rendered behind the nav bar in landscape.
|
// landscape.
|
||||||
x = Math.max(0, Math.min(x, mViewPortOnScreen.right - mPopupWindow.getWidth()));
|
final int x = Math.min(
|
||||||
|
contentRectOnScreen.centerX() - mPopupWindow.getWidth() / 2,
|
||||||
|
mViewPortOnScreen.right - mPopupWindow.getWidth());
|
||||||
|
|
||||||
final int y;
|
final int y;
|
||||||
|
|
||||||
@@ -684,7 +686,8 @@ public final class FloatingToolbar {
|
|||||||
int rootViewTopOnWindow = mTmpCoords[1];
|
int rootViewTopOnWindow = mTmpCoords[1];
|
||||||
int windowLeftOnScreen = rootViewLeftOnScreen - rootViewLeftOnWindow;
|
int windowLeftOnScreen = rootViewLeftOnScreen - rootViewLeftOnWindow;
|
||||||
int windowTopOnScreen = rootViewTopOnScreen - rootViewTopOnWindow;
|
int windowTopOnScreen = rootViewTopOnScreen - rootViewTopOnWindow;
|
||||||
mCoordsOnWindow.set(x - windowLeftOnScreen, y - windowTopOnScreen);
|
mCoordsOnWindow.set(
|
||||||
|
Math.max(0, x - windowLeftOnScreen), Math.max(0, y - windowTopOnScreen));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user