I am facing a problem regarding implementing a NestedScrollview
inside a CoordinatorLayout
. See the following layout code:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:expanded="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<LinearLayout
android:layout_marginTop="?android:attr/actionBarSize"
app:layout_collapseMode="parallax"
android:layout_width="match_parent"
android:weightSum="2"
android:orientation="horizontal"
android:gravity="bottom"
android:fitsSystemWindows="true"
android:background="@color/aop_gray"
android:layout_height="87dp">
<LinearLayout
android:background="#E5E5E5"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent">
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent">
</LinearLayout>
</LinearLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_anders"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/Custom_red"
style="@style/CustomTheme.CustomActionBar"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingTop="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_horizontal_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:id="@+id/test1"
android:layout_gravity="fill_vertical"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<com.Custom.saving.widgets.CustomTextView
android:id="@+id/aop_data_overview_form_header"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
style="@style/AopHeader"
android:layout_marginBottom="@dimen/default_margin"
android:text="@string/is_your_data_correct_header" />
<com.Custom.saving.widgets.CustomTextView
android:layout_marginTop="@dimen/default_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
style="@style/TextViewGray"
android:textColor="#787878"
android:text="@string/aop_form_header"/>
<com.Custom.saving.widgets.CustomTextView
android:layout_marginTop="@dimen/default_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:layout_width="wrap_content"
style="@style/AopBlueParagraph"
android:text="@string/aop_identity_data"
android:layout_height="wrap_content"/>
<android.support.v7.widget.CardView
android:id="@+id/card_view2"
android:layout_width="match_parent"
android:layout_marginTop="@dimen/activity_vertical_margin"
card_view:cardElevation="5dp"
android:background="@color/white"
android:gravity="center_horizontal"
card_view:cardCornerRadius="4dp"
android:layout_height="wrap_content">
<LinearLayout
style="@style/ActivityContent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<RadioGroup
android:layout_width="wrap_content"
android:layout_gravity="left"
android:orientation="horizontal"
android:layout_height="wrap_content">
<RadioButton
android:layout_width="wrap_content"
android:layout_marginRight="@dimen/default_margin"
android:layout_height="wrap_content"
android:text="Man"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Vrouw"/>
</RadioGroup>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_marginTop="@dimen/small_margin"
app:hintTextAppearance="@style/TextInputLayoutStyle"
android:layout_height="wrap_content">
<com.Custom.saving.widgets.CustomEditText
style="@style/Input"
android:layout_marginTop="@dimen/small_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Voornaam"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
app:hintTextAppearance="@style/TextInputLayoutStyle"
android:layout_marginTop="@dimen/small_margin"
android:layout_height="wrap_content">
<com.Custom.saving.widgets.CustomEditText
style="@style/Input"
android:layout_marginTop="@dimen/small_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Achternaam"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
app:hintTextAppearance="@style/TextInputLayoutStyle"
android:layout_marginTop="@dimen/small_margin"
android:layout_height="wrap_content">
<com.Custom.saving.widgets.CustomEditText
style="@style/Input"
android:layout_marginTop="@dimen/small_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Achternaam"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
app:hintTextAppearance="@style/TextInputLayoutStyle"
android:layout_marginTop="@dimen/small_margin"
android:layout_height="wrap_content">
<com.Custom.saving.widgets.CustomEditText
style="@style/Input"
android:layout_marginTop="@dimen/small_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Achternaam"/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
<com.Custom.saving.widgets.CustomTextView
android:layout_marginTop="@dimen/default_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:layout_width="wrap_content"
style="@style/AopBlueParagraph"
android:text="@string/aop_identity_data"
android:layout_height="wrap_content"/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
So basically I got a bar thats sticking on the top of the screen when the user scrolls through the content. Which is a form consisting of cards with input elements. The toolbar makes way for that bar on scroll.
The problem is that the NestedScrollview doesn't take the full height and leaves a big margin on the bottom. While the content is still scrollable in a smaller view. Sometimes it does expand but then all of a sudden gets back a margin again as soon as i start editing text in an EditText.
Add android:fillViewport="true"
to your NestedScrollView
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With