Why my EditText copy/paste menu is under the EditText? How change the z-order of popup window?

爱⌒轻易说出口 提交于 2019-12-03 05:18:26

This is expected, if you see the documentation of DecorView, It give you the background of current view.

What you are doing is starting the action bar on the decorview, hence its coming in background. Read this article for more detail http://www.curious-creature.com/2009/03/04/speed-up-your-android-ui/

To solve this issue, you need to get the current view, for which you may use View focusedView = (View) yourParentView.getFocusedChild();

It's may help you, try it.

The key answer is android:windowActionModeOverlay

in res/style.xml define a new theme extends your original theme:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="Theme.Black.NoTitleBar.ActionModeOverlay"
  parent="android:Theme.Black.NoTitleBar">
    <item name="android:windowActionModeOverlay">true</item>
  </style>
</resources>

or just add a line true in your theme if you have already defined one.

Make your Activity use the theme defined above in AndroidManifest.xml:

<activity
    android:name="you.AppActivity"
    android:theme="@style/ActionModeOverlay" >

Try WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;

instead of WindowManager.LayoutParams.TYPE_APPLICATION;

Their is actually no way to order (z-order) windows added via windowmanager. The only way is to remove the window and to add it back again.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!