Android: ScrollView not scrolling with keyboard ou

2019-01-16 18:37发布

I've got a layout with some views, from which one is an EditText. The layout easily fits on one page, BUT, when the soft keyboard is out, the layout doesn't scroll. Here's a recap of my layout:

<?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>

And in my manifest I have declared the attribute:

android:windowSoftInputMode="adjustResize|stateHidden"

Does anyone know why it doesn't work and how to make sure it does work?

Thanks in advance!

7条回答
乱世女痞
2楼-- · 2019-01-16 18:42

My problem was with a HorizontalScrollView. In my case I had to set HorizontalScrollView to:

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

And remove:

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

In the AndroidManifest.xml the activity is set to:

android:windowSoftInputMode=""

I hope this helps anyone comming across this weird bug.

查看更多
何必那么认真
3楼-- · 2019-01-16 18:47

I had the same problem and I checked my activity in the manifest, and the reason why it wasn't working is because I didn't use this property:

android:windowSoftInputMode="adjustResize"

Now it works great and no need to do additional anchors.

查看更多
Evening l夕情丶
4楼-- · 2019-01-16 18:47

Okay, apparently the ScrollView's android:layout_height mustn't be set to wrap_content. I set it to match_parent and set the android:layout_above to the button on the bottom of the page.

Don't ask me why, but this fixed the issue.

查看更多
我只想做你的唯一
5楼-- · 2019-01-16 18:47

Try to set ScrollView as your parent layout. It works like charm for me!

查看更多
\"骚年 ilove
6楼-- · 2019-01-16 18:50
<activity 
    android:windowSoftInputMode="adjustResize"
>

try this In android manifest ..

查看更多
该账号已被封号
7楼-- · 2019-01-16 18:57

In my case, nothing of the above worked.

I had item name="android:windowTranslucentStatus">true</item> in my theme. And it was fixed by setting android:fitsSystemWindows="true" in the parent layout where is my scrollview.

查看更多
登录 后发表回答