diff options
| -rw-r--r-- | core/java/android/widget/PopupWindow.java | 22 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 2 |
2 files changed, 23 insertions, 1 deletions
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java index 055ba87..76755de 100644 --- a/core/java/android/widget/PopupWindow.java +++ b/core/java/android/widget/PopupWindow.java @@ -109,6 +109,7 @@ public class PopupWindow { private Drawable mBelowAnchorBackgroundDrawable; private boolean mAboveAnchor; + private int mWindowLayoutType = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL; private OnDismissListener mOnDismissListener; private boolean mIgnoreCheekPress = false; @@ -623,6 +624,25 @@ public class PopupWindow { } /** + * Set the layout type for this window. Should be one of the TYPE constants defined in + * {@link WindowManager.LayoutParams}. + * + * @param layoutType Layout type for this window. + * @hide + */ + public void setWindowLayoutType(int layoutType) { + mWindowLayoutType = layoutType; + } + + /** + * @return The layout type for this window. + * @hide + */ + public int getWindowLayoutType() { + return mWindowLayoutType; + } + + /** * <p>Change the width and height measure specs that are given to the * window manager by the popup. By default these are 0, meaning that * the current width or height is requested as an explicit size from @@ -911,7 +931,7 @@ public class PopupWindow { p.format = PixelFormat.TRANSLUCENT; } p.flags = computeFlags(p.flags); - p.type = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL; + p.type = mWindowLayoutType; p.token = token; p.softInputMode = mSoftInputMode; p.setTitle("PopupWindow:" + Integer.toHexString(hashCode())); diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 3694b37..5dd3d6b 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -92,6 +92,7 @@ import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.ViewDebug; +import android.view.WindowManager; import android.view.ViewGroup.LayoutParams; import android.view.ViewParent; import android.view.ViewRoot; @@ -7675,6 +7676,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener com.android.internal.R.attr.textSelectHandleWindowStyle); mContainer.setSplitTouchEnabled(true); mContainer.setClippingEnabled(false); + mContainer.setWindowLayoutType(WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL); setOrientation(pos); } |
