Android ScrollView 在 Fragment 中不显示底部内容

Android ScrollView does not show bottom content in Fragment

我在 Android Studio 中开始了一个新的选项卡 Activity 项目。片段内容不显示最后一个控件'Serial Number'。片段下方xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ibrahimnehme.slidingtab.StockTakeFragment">

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

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="5dp">

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/part_number"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Part Number"
                android:inputType="text"
                android:maxLines="1"
                android:singleLine="true" />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/part_description"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Part Description"
                android:inputType="textMultiLine"
                android:maxLines="3"
                 />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/lotId"
            style="@style/InputLabel" />

            <Spinner
                android:id="@+id/LotId"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:prompt="@string/lotId"
                android:spinnerMode="dialog"
                android:padding="5dp"
                style="@style/Widget.AppCompat.Spinner.Underlined"
                android:layout_gravity="bottom"/>

        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/Location"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Location"
                android:inputType="text"
                android:maxLines="1"
                />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/SubLocation"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Sub Location"
                android:inputType="text"
                android:maxLines="1"
                />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/nsn"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="NSN"
                android:inputType="text"
                android:maxLines="1"
                />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/Unit_Of_Measurement"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Unit Of Measurement (UoM)"
                android:inputType="text"
                android:maxLines="1"
                />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/ControlId"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Control Id"
                android:inputType="text"
                android:maxLines="1"
                />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/Ext_Trace_Id"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Ext Trace Id"
                android:inputType="text"
                android:maxLines="1"
                />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/ExpiryDate"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Expiry Date"
                android:inputType="text"
                android:maxLines="1"
                />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/Status"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Status"
                android:inputType="text"
                android:maxLines="1"
                />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:paddingBottom="20dp"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/Serial_Number"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Serial Number"
                android:inputType="text"
                android:maxLines="1"
                />
        </android.support.design.widget.TextInputLayout>
    </LinearLayout>
</ScrollView>

最后一个可见控件是 'Status'。我尝试 PadBottom="20dp" 然后我用 RelativeLayout 包装 ScrollView 但仍然有同样的问题。

最低 SDK API 23 Android 6

非常感谢任何帮助。谢谢

你删除了其中的填充 android.support.design.widget.TextInputLayout

<android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:paddingBottom="20dp"
            android:layout_height="wrap_content">

            <AutoCompleteTextView
                android:id="@+id/Serial_Number"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Serial Number"
                android:inputType="text"
                android:maxLines="1"
                />

删除 android:paddingBottom="20dp"

添加android:fillViewPort="true" 所以

变成

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ibrahimnehme.slidingtab.StockTakeFragment">

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

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:padding="5dp">

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/part_number"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Part Number"
                    android:inputType="text"
                    android:maxLines="1"
                    android:singleLine="true" />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/part_description"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Part Description"
                    android:inputType="textMultiLine"
                    android:maxLines="3"
                     />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/lotId"
                style="@style/InputLabel" />

                <Spinner
                    android:id="@+id/LotId"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:prompt="@string/lotId"
                    android:spinnerMode="dialog"
                    android:padding="5dp"
                    style="@style/Widget.AppCompat.Spinner.Underlined"
                    android:layout_gravity="bottom"/>

            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/Location"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Location"
                    android:inputType="text"
                    android:maxLines="1"
                    />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/SubLocation"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Sub Location"
                    android:inputType="text"
                    android:maxLines="1"
                    />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/nsn"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="NSN"
                    android:inputType="text"
                    android:maxLines="1"
                    />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/Unit_Of_Measurement"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Unit Of Measurement (UoM)"
                    android:inputType="text"
                    android:maxLines="1"
                    />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/ControlId"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Control Id"
                    android:inputType="text"
                    android:maxLines="1"
                    />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/Ext_Trace_Id"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Ext Trace Id"
                    android:inputType="text"
                    android:maxLines="1"
                    />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/ExpiryDate"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Expiry Date"
                    android:inputType="text"
                    android:maxLines="1"
                    />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/Status"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Status"
                    android:inputType="text"
                    android:maxLines="1"
                    />
            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:paddingBottom="20dp"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/Serial_Number"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Serial Number"
                    android:inputType="text"
                    android:maxLines="1"
                    />
            </android.support.design.widget.TextInputLayout>
        </LinearLayout>
    </ScrollView>

我遇到了同样的问题。添加 fillViewPort 使滚动视图填充其视图。

在不同的 xml 文件中定义片段的内容,然后将其包含在片段 xml 文件中并改用 NestedScrollView

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context="com.example.ibrahimnehme.slidingtab.StockTakeFragment">

  <android.support.v4.widget.NestedScrollView
      android:layout_width="match_parent"
      android:layout_height="match_parent">

   <include layout="@layout/yourOtherXMLFile"/>

  </android.support.v4.widget.NestedScrollView>
</FrameLayout>