17

私のアプリケーションでは、内部にEditTextを持つカスタム ビューを含むフッター付きのListViewがあります。上部にはアクションバーがあります。アクティビティは現在( ) をソフト入力モードとして使用しており、スクロール時にキーボードを閉じません。SOFT_INPUT_ADJUST_RESIZEadjustResize

SOFT_INPUT_ADJUST_PANリストをより多く表示するには、スクロール時にキーボードを削除し、よりスムーズなスクロール動作を取得するために、 ( adjustPan) が使用されるように変更したいと考えています。しかし、 に変更するadjustPanと、アクション バーを含むビュー全体が押し上げられます。リスト ビューをプッシュしたいのですが、アクション バーは常に一番上に表示されたままです。それは可能ですか?adjustResizeそうでない場合、スムーズなサイズ変更アニメーションを使用して取得することは可能ですか?

これまでのところ、私は試しました:

  • を要求Window.FEATURE_ACTION_BAR_OVERLAYしていますが、ドキュメントは有望に聞こえましたが、それは役に立ちませんでした。
  • ソフト キーボードが表示されているかどうかに応じてアクション バー コンテナーを移動すると、非常に不安定なハックのように見えたので、破棄しました。
  • これまでのところadjustResize、スクロール時に発生する描画動作、キーボードの最小化、およびリストビューのサイズ変更を同時に行うため、 を除外しました。スムーズなアニメーションのサイズ変更を行う方法はありますか?
4

1 に答える 1

0

アジャストパン用

manifest.xml ファイルのアクティビティ宣言行に以下のコードを挿入します。

android:windowSoftInputMode="adjustPan"

お気に入り

<activity
        android:name="activity"
        android:windowSoftInputMode="adjustPan" >
</activity>

スクロール中にキーボードを削除する

その時点で結果が得られている間に、以下のコードを実行します

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);

このようにして、画面からキーボードを削除できます。

于 2015-04-17T08:46:49.530 に答える