1

私は奇妙な問題に直面しています。1 つのアクティビティに 2 つのフラグメントがあります。1 つはログイン Fragment です。このフラグメントには 2 つの編集テキストがあります。このファイルがソフト キーボードによって非表示になっているデバイスがあります。

ユーザーが LoginFragment のボタンをクリックすると、 forgetpassword という名前の別のフラグメントが開かれます。これは WebView であり、URL はリモート サーバーからロードされています。しかし、html のテキストフィールドはソフトキーボードで非表示になっています。だから私はadjustResizeを使ってみましたが、うまくいきました。しかし、loginfragment の editText ウィジェットはキーボードで非表示になっています。

アクティビティで両方のフラグを達成するにはどうすればよいですか。これで私を助けてください。

4

3 に答える 3

1

adjustPan設定してプログラムで問題を解決できますadjustResize

次のコードを使用してajustPan、現在の Fragment があなたのLoginFragment.

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

そして、次のコードを使用してajustResize、現在のフラグメントがあなたのものであるときを設定しますwebview Fragment:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
于 2015-01-28T07:25:02.347 に答える
0

adjustResizeadjustPan互いに組み合わせることはできません。これらは、ソフト入力が入力フィールドを覆うのを防ぐための異なるデフォルト アクションです。のコメントに示されているようにWindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN

    /** Adjustment option for {@link #softInputMode}: set to allow the
     * window to be resized when an input
     * method is shown, so that its contents are not covered by the input
     * method.  This can <em>not</em> be combined with
     * {@link #SOFT_INPUT_ADJUST_PAN}; if
     * neither of these are set, then the system will try to pick one or
     * the other depending on the contents of the window. If the window's
     * layout parameter flags include {@link #FLAG_FULLSCREEN}, this
     * value for {@link #softInputMode} will be ignored; the window will
     * not resize, but will stay fullscreen.
     */
    public static final int SOFT_INPUT_ADJUST_RESIZE = 0x10;
于 2016-03-31T08:51:20.390 に答える
-1

adjustPan設定してプログラムで問題を解決できますadjustResize。また、listview追加でandroid:transcriptMode="alwaysScroll"

于 2016-03-08T10:00:52.103 に答える