ScrollView не работает с макетом с вкладками в Android

Я новичок в Android и пытаюсь использовать ScrollView в макете с вкладками. Когда я включаю макет фрагмента в представление с вкладками, последний элемент не отображается при прокрутке вниз. Я попытался установить высоту «LinearLayout» на «wrap_content», но все равно это не работает.

В идеале мне нужна была только одна кнопка, другие кнопки добавлены только для целей тестирования.

Тот же макет работает нормально, если я добавляю его в действие, а не во вкладку.

Вот макет, который содержит ScrollView

<ScrollView
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">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:scrollbars="vertical"
    tools:context="com.adroitminds.tabbedview.Section2">


    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="First Name" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="Last Name" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="First Name1" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="Last Name2" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="Phone2" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="Email2" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="Phone" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="Email" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="Password" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="16dp"
        android:layout_weight="1"
        android:hint="Confirm Password" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_weight="1"
        android:layout_marginBottom="16dp"
        android:layout_marginTop="16dp"
        android:text="Submit" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_weight="1"
        android:layout_marginBottom="16dp"
        android:layout_marginTop="16dp"
        android:text="Submit1" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_weight="1"
        android:layout_marginBottom="16dp"
        android:layout_marginTop="16dp"
        android:text="Submit2" />

</LinearLayout>

Tabbed Activity which has the issue

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="@dimen/appbar_padding_top"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways"
        app:popupTheme="@style/AppTheme.PopupOverlay">

    </android.support.v7.widget.Toolbar>

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

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

<android.support.v4.view.ViewPager
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

Here are the screenshots for both scenarois

Фрагмент в действии — работает нормально Активность - работает

Фрагмент в макете с вкладками — не работает TabView - не работает

Я могу решить эту проблему, уменьшив поля или размер EditTexts, но мне любопытно узнать, где я ошибаюсь. Может ли кто-нибудь помочь мне решить эту проблему.

Я использую последнюю версию Android Studio
minSdkVersion - 18
targetSdkVersion - 23

Спасибо,
Капил


person wizzardz    schedule 26.10.2015    source источник


Ответы (1)


Добавьте эту строку в свой ScrollView :

app:layout_behavior="@string/appbar_scrolling_view_behavior"

Также удалите тот же атрибут из android.support.v4.view.ViewPager. ViewPager должен быть

<android.support.v4.view.ViewPager
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
person Mohammed Aouf Zouag    schedule 26.10.2015
comment
Спасибо за подсказку дружище. Помимо вашего ответа, мне также пришлось удалить этот атрибут из android.support.v4.view.ViewPager. - person wizzardz; 26.10.2015
comment
Рад, что смог помочь. :) - person Mohammed Aouf Zouag; 26.10.2015