当孩子的身高增加时,ScrollView不会滚动

时间:2019-02-28 00:15:40

标签: android android-layout android-linearlayout android-scrollview

我有一个ScrollView,其中包含2个片段。底部片段具有2个EditText视图。当我在任一EditText中输入多行文本时,屏幕上视图的总体高度要求自然会增加。但是,屏幕会截断由于多行文本输入而导致按下的所有内容。 ScrollView那时不滚动。

我在SO上尝试了一些建议的方法,例如不使ScrollView成为根视图,或者添加一个空视图作为scrollview的最后一个孙代,但是到目前为止,它们都没有起作用。这是我的XML:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ScrollView
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">

        <RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:context=".MainActivity">

            <fragment
                android:id="@+id/fragment1"
                android:name="com.example.omar.memegenerator.TopImageFragment"
                android:layout_width="match_parent"
                android:layout_height="400dp"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="18dp"
                android:layout_marginBottom="18dp"
                tools:layout="@layout/fragment_top_image" />

            <fragment
                android:id="@+id/fragment2"
                android:name="com.example.omar.memegenerator.BottomControlsFragment"
                android:layout_width="match_parent"
                android:layout_height="134dp"
                android:layout_below="@+id/fragment1"
                android:layout_alignParentBottom="true"
                android:layout_marginBottom="34dp"
                tools:layout="@layout/fragment_bottom_controls" />

        </RelativeLayout>
    </ScrollView>

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

将其用于布局层次结构。我已经省略了一些属性,但是其中包含的属性是使此属性起作用的关键。

<ScrollView
    android:layout_height="match_parent"
    android:layout_width="match_parent">

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

        <fragment
            android:id="@+id/fragment1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

        <fragment
            android:id="@+id/fragment2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

   </LinearLayout>

</ScrollView>