いくつかの提案を含むオートコンプリート編集テキストがあるレイアウトがあります。下の画像は、キーボードがスライドインするまでの通常の動作です。
キーボードが来ると、ドロップダウンがフィールドの上に移動し、TO:フィールドが非表示になります。以下に示すように。
キーボードが上にスライドした場合でも、下のドロップダウンを取得するにはどうすればよいですか。このような結果にしたいと思います。
ありがとう...
いくつかの提案を含むオートコンプリート編集テキストがあるレイアウトがあります。下の画像は、キーボードがスライドインするまでの通常の動作です。
キーボードが来ると、ドロップダウンがフィールドの上に移動し、TO:フィールドが非表示になります。以下に示すように。
キーボードが上にスライドした場合でも、下のドロップダウンを取得するにはどうすればよいですか。このような結果にしたいと思います。
ありがとう...
キーボードが表示され、この編集テキストに焦点が当てられているときに上部のレイアウトを非表示にすることで、これを解決しました。キーボードが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.
}
}
}
});