My project is to have an over the top button which enables to launch my activity from anywhere. For that purpose, I have a service that displays this button in a specific window. In the layout params of this window, I have the type "WindowManager.LayoutParams.TYPE_SYSTEM_ALERT" to be on top. I also have the flag "WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE", in that way the user can have access to other applications under my window and to hard keyboard keys (only the click in my window is considered) I get the windowManager to which is added my view through "context.getSystemService(Context.WINDOW_SERVICE)"
Everthing is working good, but there is something annoying about the keyboard. When other applications display the keyboard (ie the messaging application) my button is staying at the same place and can overlay the keyboard which is frustating for the user. What I want is to put my window up when the keyboard is displayed. I added in the layout params softInputMode "WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE" but the problem seems to be more complicated as the keyboard is displayed from somewhere else than my service. If I include an edittext in my window (and delete FLAG_NOT_FOCUSABLE) my layout can go up when I click on the edittext as this is the same window I suppose ? But when other windows display a keyboard, my button do not consider it (no call to "onLayout", "onMeasure methods" etc) How can I make my window react to the keyboard even if launched from another activity (below my window) ? As my window is above the keyguard window, is it ignoring it ? Is there some registration to do to say to the window manager that my window should also consider keyboard display ? Can some window layers experts explain me what is happening with my window and suggest me an idea to reach my goal ? I tried other attributes for "type" and "flags" but did not manage to get the desired result.. I have passed days, my android knowledge has reached its limits :) Thank by advance for your help ! -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

