54

いくつかのビューを含むレイアウトがあり、そのうちの1つはEditTextです。レイアウトは1ページに簡単に収まりますが、ソフトキーボードがない場合、レイアウトはスクロールしません。これが私のレイアウトの要約です:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background" >

    <ScrollView
        android:id="@+id/ScrollView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <CheckBox/>

            <TextView/>

            <LinearLayout>
                <EditText>
                    <requestFocus />
                </EditText>
            </LinearLayout>

            <TextView/>

            <LinearLayout>
                <Spinner/>
            </LinearLayout>

        </LinearLayout>

    </ScrollView>

    <Button
        android:layout_alignParentBottom="true" />

</RelativeLayout>

そして私のマニフェストで私は属性を宣言しました:

android:windowSoftInputMode="adjustResize|stateHidden"

なぜそれが機能しないのか、そしてそれが機能することを確認する方法を誰かが知っていますか?

前もって感謝します!

4

11 に答える 11

65

同じ問題が発生し、マニフェストでアクティビティを確認しました。アクティビティが機能しなかった理由は、このプロパティを使用しなかったためです。

android:windowSoftInputMode="adjustResize"

今ではうまく機能し、追加のアンカーを実行する必要はありません。

于 2013-08-12T10:14:46.047 に答える
38

さて、どうやらScrollViewandroid:layout_heightをに設定してはいけませんwrap_content。ページ下部のボタンに設定match_parentします。android:layout_above

理由は聞かないでください。これで問題は解決しました。

于 2013-03-15T19:38:42.170 に答える
26

私の場合、上記のどれもうまくいきませんでした。

私はitem name="android:windowTranslucentStatus">true</item>私のテーマにありました。そして、それandroid:fitsSystemWindows="true"は私のスクロールビューである親レイアウトで設定することによって修正されました。

于 2017-09-12T08:49:50.737 に答える
13

android:windowSoftInputMode="stateHidden|adjustResize"AndroidManifest.xmlファイルのタグに追加します。これにより、ソフトキーボードが表示された後、画面のサイズが残りのスペースに変更されます。そのため、簡単にスクロールできるようになります。

于 2014-11-17T10:55:19.623 に答える
5

私の場合、上記の解決策はどれも、削除するまで機能しません

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

私のアクティビティでは、そのコードを使用して全画面表示を取得します。場合によっては、上記の解決策のいずれかを機能させるために、フルスクリーンの設定を削除してみてください。

于 2019-08-16T02:34:54.487 に答える
4

最初のフラグメントが完全にスクロールし、2番目のフラグメントがスクロールしなかった場合は、2番目のフラグメントを置き換えて、以下のことを行う必要があります。

1.ScrollViewに追加します

android:fillViewport="true"
android:fitsSystemWindows="true"

2.マニフェストを追加

android:windowSoftInputMode="adjustResize|stateVisible"

フラグメントを追加する場合、私の提案はフラグメントを置き換える必要があるということです

于 2020-07-08T05:28:44.077 に答える
3

私の場合、それを機能させるには、スタイルから次のプロパティを削除する必要がありました。

<item name="android:windowFullscreen">true</item>
于 2020-01-27T05:20:32.583 に答える
1

私の問題はHorizo​​ntalScrollViewにありました。私の場合、Horizo​​ntalScrollViewを次のように設定する必要がありました。

android:layout_width="match_parent"
android:layout_height="match_parent"

そして削除:

 android:layout_above="@+id/closeButton"
 android:layout_below="@+id/logo"

AndroidManifest.xmlでは、アクティビティは次のように設定されています。

android:windowSoftInputMode=""

これが、この奇妙なバグに出くわす人の助けになることを願っています。

于 2015-02-05T10:18:58.310 に答える
0

私の場合、これを解決したのは、下部に欠落している制約を設定することでした。私のScrollViewには上、右、左の制約がありましたが、下の制約はありませんでした。四方から制限したところ、上記のテキストビューと重なってしまい、高さを0dpにしてみたところ、問題は解決したようです。

于 2020-07-18T11:02:09.783 に答える
-1

ScrollViewを親レイアウトとして設定してみてください。それは私にとって魅力のように機能します!

于 2017-07-10T04:30:40.367 に答える
-6
<activity 
    android:windowSoftInputMode="adjustResize"
>

これをAndroidマニフェストで試してください..

于 2018-04-22T16:47:05.313 に答える