5

交換用のキーボードを開発したいのですが、Androidでは、一般的なキーボードの「領域」が画面の下部にある単一の長方形であると想定しています。

キーボードを画面の下部に配置するだけでなく、複数の形状で構成したい場合はどうすればよいですか?私は最初から運命にありますか、それとも私がやりたいことをすることは可能ですか?

関連するメモとして、電話が特定の方向にあるときにのみキーボードを表示したいが、電話が別の方向に保持されている場合は、通常のソフトキーボードが使用される場合はどうなりますか?繰り返しますが、運が悪いのか、それとも可能ですか?

乾杯!

4

2 に答える 2

4

IMEは単なるウィンドウです。画面の下部を基準にして配置されているため、実際に制御することはできません。ただし、透明にしたい場所ではなく、好きなように描くことができます。これを使用して、アプリケーションがIMEから離れる量を制御できます。http://developer.android.com/reference/android/inputmethodservice/InputMethodService.html#onComputeInsets (android.inputmethodservice.InputMethodService.Insets )

Androidでは、イベントをウィンドウで処理するか、背後のウィンドウにディスパッチするかをウィンドウが一度に1つずつ決定することはできません。イベントがウィンドウ全体で消費されないようにする必要がある唯一のコントロールは、Insets.touchableInsets定数であり、指定されたインセットの外側のイベントがその背後にあるものに到達できるようにウィンドウマネージャーに指示します。

于 2010-11-03T02:14:33.027 に答える
0

おそらく、好きな場所に長方形を作成して、その一部を透明にすることができます。ただし、キーボードの下のアクティビティにUIイベントを渡す方法がわかりません。

とにかく、おそらく非常に役立つソフトキーボードのサンプルがあります。

私が見ているように、UIThingを処理する方法は2つあります。-イベントが「通過する必要がある」ときに、イベントを基になるアクティビティに渡します...ソフトキーボードには独自のプロセスがある場合があるため、これは少し厄介になる可能性があります。-UIイベントが自然に通過するように、キーボードを複数の長方形の領域で構成します。それが可能かどうかはわかりません。私自身、Android開発にはまだかなり慣れていません。

于 2010-11-02T23:56:32.923 に答える