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

Reply via email to