0

いくつかの提案を含むオートコンプリート編集テキストがあるレイアウトがあります。下の画像は、キーボードがスライドインするまでの通常の動作です。

ここに画像の説明を入力してください

キーボードが来ると、ドロップダウンがフィールドの上に移動し、TO:フィールドが非表示になります。以下に示すように。 ここに画像の説明を入力してください

キーボードが上にスライドした場合でも、下のドロップダウンを取得するにはどうすればよいですか。このような結果にしたいと思います。

ここに画像の説明を入力してください

ありがとう...

4

1 に答える 1

0

キーボードが表示され、この編集テキストに焦点が当てられているときに上部のレイアウトを非表示にすることで、これを解決しました。キーボードがslided_outされるとすぐに、元の画面に戻る上部レイアウトが再び表示されます。キーボードのslide_in/slide_outを検出するために、私はこのようなものを使用しました。

final View activityRootView = findViewById(R.id.activityRoot);
    activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(
            new OnGlobalLayoutListener() {
                @Override
                public void onGlobalLayout() {
                    int heightDiff = activityRootView.getRootView()
                            .getHeight() - activityRootView.getHeight();
                    if (heightDiff > 100) { // if more than 100 pixels, its
                                            // probably a keyboard...
                        if (searchText.isFocused()) {
                            //keyboard is shown
                        }
                    } else {
                        if (searchText.isFocused()) {
                            //Keyboard is hidden.
                        }
                    }
                }
            });
于 2012-08-22T08:11:08.667 に答える