画面上に常に表示されるOverlayのViewでソフトキーボードを表示したい

842 views
Skip to first unread message

山田太郎

unread,
Jul 10, 2013, 4:20:32 AM7/10/13
to android-g...@googlegroups.com
皆さんこんにちは。初めて投稿させて頂きます。

■経緯

こちらのFloating Stickesのように
常に画面上に表示される付箋のようなアプリを作ろうとしています。
https://play.google.com/store/apps/details?id=genius.mohammad.floating.stickies

WindowManager経由でOverlay用のViewをAddViewし
UIを表示するところまでは実装できたのですが
ソフトキーボードの制御で行き詰まっております。

こちらのサンプルコードが参考になったのですが
http://www.jawsware.mobi/code_OverlayView/

サンプルでは表示するViewがTextViewですが
これを入力が可能なEditTextにしたとき
EditViewをタップしてもソフトキーボードが表示されません。

そこでWindowManager.LayoutParamsの組み合わせを

  FLAG_NOT_TOUCH_MODAL | FLAG_WATCH_OUTSIDE_TOUCH | FLAG_NOT_FOCUSABLE

から FLAG_NOT_FOCUSABLE を取り除いた

  FLAG_NOT_TOUCH_MODAL | FLAG_WATCH_OUTSIDE_TOUCH

とすることで、ソフトキーボードが表示されるようになったのですが
今度はこの状態で別アプリを起動した場合、別アプリ側でソフトキーボードが表示されなくなってしまいました。


■質問

自作アプリのEditTextも他アプリの入力も
どちらでもソフトキーボードが表示できるようにしたいのですが
FLAGの組み合わせが悪いのか
或いは何かのイベントをトリガーにして自身のOverlayの属性を変更することで対応できるのか
その辺りを悩んでおります。何か良い解決策やサンプルをご存知ないでしょうか。
よろしくお願いいたします。
Reply all
Reply to author
Forward
0 new messages