1

私はすでにこれについて良い検索を行っていますが、実用的な解決策が見つからないため、ここに投稿します。

ビュー(EditText、TextView、およびCheckBox)を含むTableLayoutがあるAndroidアプリケーションがあります。

ユーザーが入力した情報を制御できるように、独自のキーボードを実装しました。

TableLayout には多くの行を含めることができるため、私の TableLayout は ScrollView にあります。

私が抱えている問題は、キーボードが表示されると、フォーカスされた EditText が非表示になることです。通常、AndroidはEditTextを押し上げて表示しますが、私の場合はそうではありません。どうすればこれを解決できますか?

4

3 に答える 3

0

常に同じ問題を抱えています。windowsSoftInputMode="adjustPan" またはその他のオプションがカスタム キーボードで機能しないことがわかりました。

私のCustomKeyboardは、KeyboardViewを実装し、xmlをこのkeyboardViewにリンクし、それを表示または非表示にする2つのメソッドを持つクラスです...

AdjustPan がカスタム キーボードで機能しない理由を誰かが知っている場合は、お知らせください。

トリスタン

于 2013-04-23T12:54:25.370 に答える
0

KeyboardView を使用したカスタム キーボードで同じ問題が発生し、アイテム選択を少し遅延させることで解決しました。

public boolean isCustomKeyboardVisible() {
return keyboardView.getVisibility() == View.VISIBLE;
}

public void showCustomKeyboard() {
    if (!isCustomKeyboardVisible()) {
    keyboardView.setVisibility(View.VISIBLE);
            //Calling my custom listener
    onKeyboardVisibilityChanged.visibilityChanged(true); 
    listView.postDelayed(new Runnable() {
        @Override
        public void run() {
            listView.setSelection(position);
        }
    }, 50);
}
}

public void hideCustomKeyboard() {
if (isCustomKeyboardVisible()) {
    keyboardView.setVisibility(View.GONE);
    onKeyboardVisibilityChanged.visibilityChanged(false);
}
}
于 2013-08-05T14:31:36.553 に答える