AndroidのオンスクリーンキーボードとB4A

画面上のキーボード(osk)が不思議です。

私がポートレートモードになっているとき、oskは画面の一番下に表示され、私のアプリの下の部分だけをカバーします。これは、アプリケーションの上部にあるテキストボックスがまだ表示されるため、理想的です。しかし、方向が横向きに変更されると、oskはアプリケーション全体(テキストボックスを隠す)を独自のテキスト領域で覆います。

このoskテキスト領域は、横長モードでのみ表示されます。これはoskがすべてのAndroidsでどのように動作するのか、それともSamsung Tab 7に固有のものなのでしょうか?

oskが横向きモードで独自のテキストボックスを表示しないようにする方法はありますか?そうでなければ、私は自分自身を設計しなくてはなりません。私が自分で設計したのであれば、B4Aを使ってAndroidの自動補完機能を利用することはできますか?

私はAutoCompleteEditTextを試しましたが、Androidの自動補完機能が、私が必要とするものに近い方法では動作しません。

助言がありますか?

ご協力ありがとうございました、

ボブ・ゲイトリー

0

2 答え

より良い答え。リフレクションライブラリを使用してフルスクリーンキーボードを無効にすることができます:

Dim r As Reflector
r.Target = EditText1
r.RunMethod2("setImeOptions", 268435456, "java.lang.int") 'IME_FLAG_NO_EXTRACT_UI constant
2
追加された
ああ!私はReflectionの図書館をまだ見ていない。コード例ありがとうございます - 私はそれを試してみましょう。
追加された 著者 Bob G,
反射コードの例は完璧な解決策です。画面上のキーボードはキーボード(と自動補完)のみを表示し、残りのアプリケーションは隠しません。今や私はキーボードとオートコンプリートを再開発する必要はありません。リフレクションについてもっと学びたいと思う。本当にありがとう!
追加された 著者 Bob G,

これは、ランドスケープのときのすべてのAndroidsのデフォルトの動作です。 カスタムキーボードの実装については、リンクをご覧ください。

0
追加された
あなたの迅速な返信のErelに感謝します。私は既にカスタムキーボードのリンクを見てきており、この例を自分のキーボードを作るための出発点として使うことができます。自分でキーボードを作っても、Androidキーボードと同じように自動補完機能を提供する必要があります。 B4AからAndroidオートコンプリートライブラリにアクセスする方法はありますか?
追加された 著者 Bob G,
PS:別のAndroidプログラミングアプリで遊んでいます。オンスクリーンキーボードに関連付けられたテキスト領域は横向きモードでは表示されません。キーボードのみが表示され、テストアプリは画面の上半分に表示されます。私の推測は、アプリケーションがブラウザ(HTML5)で実行されているためです。
追加された 著者 Bob G,