我在NestedScrollview
内实施CoordinatorLayout
时遇到了问题。请参阅以下布局代码:
<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>
所以基本上当用户滚动浏览内容时,我会在屏幕顶部粘贴一个栏。这是一个由带有输入元素的卡组成的表单。滚动工具栏为该栏提供了方法。
问题在于NestedScrollview没有占据整个高度并且在底部留下了很大的余量。虽然内容仍然可以在较小的视图中滚动。有时候它确实会扩展,但是一旦我开始在EditText中编辑文本,它就会突然再次回到边缘。
答案 0 :(得分:7)
将android:fillViewport="true"
添加到您的NestedScrollView
。
答案 1 :(得分:-1)
将android:fillViewport="true"
添加到ScrollView
和android:layout_height="wrap_content"
,添加到您LinearLayout
的直接子女ScrollView
。