diff --git a/core/java/com/android/internal/view/FloatingActionMode.java b/core/java/com/android/internal/view/FloatingActionMode.java index 99c12776d8c10..784b256728ca6 100644 --- a/core/java/com/android/internal/view/FloatingActionMode.java +++ b/core/java/com/android/internal/view/FloatingActionMode.java @@ -25,6 +25,7 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewConfiguration; +import com.android.internal.R; import com.android.internal.util.Preconditions; import com.android.internal.view.menu.MenuBuilder; import com.android.internal.widget.FloatingToolbar; @@ -44,6 +45,7 @@ public class FloatingActionMode extends ActionMode { private final Rect mViewRect; private final Rect mScreenRect; private final View mOriginatingView; + private final int mBottomAllowance; private final Runnable mMovingOff = new Runnable() { public void run() { @@ -77,6 +79,10 @@ public class FloatingActionMode extends ActionMode { mScreenRect = new Rect(); mOriginatingView = Preconditions.checkNotNull(originatingView); mOriginatingView.getLocationInWindow(mViewPosition); + // Allow the content rect to overshoot a little bit beyond the + // bottom view bound if necessary. + mBottomAllowance = context.getResources() + .getDimensionPixelSize(R.dimen.content_rect_bottom_clip_allowance); } public void setFloatingToolbar(FloatingToolbar floatingToolbar) { @@ -141,7 +147,7 @@ public class FloatingActionMode extends ActionMode { Math.max(mContentRectOnWindow.left, mViewRect.left), Math.max(mContentRectOnWindow.top, mViewRect.top), Math.min(mContentRectOnWindow.right, mViewRect.right), - Math.min(mContentRectOnWindow.bottom, mViewRect.bottom)); + Math.min(mContentRectOnWindow.bottom, mViewRect.bottom + mBottomAllowance)); if (!mContentRectOnWindow.equals(mPreviousContentRectOnWindow)) { // Content rect is moving. diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index e60a48de33d08..7e74680255d24 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -399,6 +399,7 @@ 192dp 16dp 8dp + 20dp 0dp diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 5ba57c48025f0..4160e0e5c3ebb 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2274,6 +2274,7 @@ +