Imはアンドロイドのための入力方法に取り組んで課題の一つは、ハードキーボードのキーを押すのカスタムポップアップキーボードを実装することです。通常、インプットメソッドはエディタに処理させますが、アンドロイドサポートよりも多くのシンボルを追加する必要があります。 私はポップアップキーボードを実装し、ハードキー(文字キー)を長押ししてもうまく表示されるようにしました。私が続いてきたポップアップキーボードの問題、列の制限が指定されているときに
手順は次のとおりです。
- は、ポップアップウィンドウを作成します。
- はkeyboardviewと閉じるボタンが含まれているリニアレイアウトを膨らませると、関連するオブジェクト
- にビューオブジェクト
- バインドkeyboardviewと閉じるボタンに保存し、ポップアップ文字のキーボードを作成して、それを設定しますキーボード表示用のキーボード。キーボードは、ポップアップウィンドウ
- 表示ポップアップウィンドウ
問題のコンテンツビューとして線形レイアウトを設定5.
CODE:
PopupWindow mPopupKeyboard = new PopupWindow(this.getBaseContext());
mPopupKeyboard.setBackgroundDrawable(null);
if(mPopupKeyboard != null)
{
this.dismissPopupKeyboard();
View mMiniKeyboardContainer = null;
KeyboardView mMiniKeyboard = null;
View closeButton = null;
mMiniKeyboardContainer = getLayoutInflater().inflate(R.layout.keyboard_popup_keyboard, null);
mMiniKeyboard = (KeyboardView) mMiniKeyboardContainer.findViewById(R.id.popup_keyboardView);
closeButton = mMiniKeyboardContainer.findViewById(R.id.closeButton);
if (closeButton != null)
{
closeButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
mPopupKeyboard.dismiss();
});
}
mMiniKeyboard.setOnKeyboardActionListener(this);
String resourcestring = "abcdefghi";
mMiniKeyboard.setKeyboard(new Keyboard(this.getBaseContext(), R.xml.kbd_popup_template, alternates, 3, 0));
mMiniKeyboard.setPopupParent(mCandidateView);
mPopupKeyboard.setContentView(mMiniKeyboardContainer);
mPopupKeyboard.setWidth(LayoutParams.WRAP_CONTENT);
mPopupKeyboard.setHeight(LayoutParams.WRAP_CONTENT);
mPopupKeyboard.showAtLocation(mCandidateView, Gravity.TOP, 0, 0);
}