18

ソフトキーボードの境界まで、提案リストをドロップダウンする Autocompletetextview があります。

次に、候補リストをスクロールすると: - (ジンジャーブレッドの電話で) ドロップダウン メニューの高さがキーボードを覆うように自動的に増加します。これは、より多くの項目が表示されるので便利です。- (ICS エミュレーターで) ドロップダウン メニューの高さがキーボードよりも高くなりません。

これはいくつかのシステム プロパティに関連していますか? ICS でも最初の動作を強制する方法はありますか?

4

6 に答える 6

27

レイアウト ファイルのタグに追加android:dropDownHeight="100dp"するだけで機能しAutoCompleteTextViewます。

于 2013-02-23T10:27:13.413 に答える
2

「ドロップダウン」がキーボードの後ろに表示されないようにするちょっとしたコツを説明しましょう。トリックは dropDownAnchor プロパティにあります。解決策は、画面の上部にあるビューでアンカーを設定することです。そのため、メニューはその位置から離れるため、キーボードで覆われません。例えば:

android:dropDownAnchor="@+id/topview"

私はそれが醜い解決策であることを知っていますが、このコントロールはあまりにも制限されています.

于 2013-12-02T07:34:01.227 に答える
1

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);フラグメントまたはアクティビティに追加するだけ

于 2016-11-02T18:54:40.083 に答える
1

android:dropDownAnchor="@id/ ドロップダウンをビューに固定するために使用することもできます。

于 2014-09-18T18:33:54.530 に答える
0

2 つのことを行う必要があります。まず、マニフェストでそのアクティビティのソフト入力モードを調整します。

android:windowSoftInputMode="stateHidden|adjustResize"

これにより、キーボードが表示されたときにビューが再びレイアウトされます。次に、最上位ビューの oncreate でグローバル レイアウト リスナーを設定して、レイアウトが変更されたときにドロップダウンの高さの計算を行います。ドロップダウンの高さを、キーボードの下のすべての高さから、必要に応じてパディングを引いた高さに調整します。

v.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
                autoCompleteView.setDropDownHeight(view2.getHeight());
}

view2 は、autocompleteview の下のすべてを含むビュー/レイアウトです。

于 2014-09-05T02:57:29.137 に答える