我在CoordinatorLayout
和CollapsingToolbarLayout
上遇到问题。实际上,当我使用NestedScrollView
时。我在NestedScrollView
内的ConstraintLayout
中放置了一个表格。最后一个按钮没有完全显示(底部隐藏了60dp)。当我单击一个按钮或编辑文本时,将显示最后一个按钮。但是当我启动应用程序时没有。
我看到了很多问题,但没有完美的答案。有人说这是CoordinateLayout
的错误或问题。
这里是完整的代码:
<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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ToolbarStyle">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="match_parent"
android:layout_height="220dp"
android:textAlignment="center"
app:collapsedTitleGravity="start"
app:collapsedTitleTextAppearance="@style/CollapsedAppBar"
app:contentScrim="#12CCD8"
app:expandedTitleGravity="center_horizontal|bottom"
app:expandedTitleMarginBottom="10dp"
app:expandedTitleTextAppearance="@style/ExpandedAppBar"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:title="Please Fill Form Carefully">
<ImageView
android:id="@+id/imageViewCollapsing"
android:layout_width="match_parent"
android:layout_height="180dp"
android:scaleType="fitXY"
android:src="@drawable/az_banner"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.constraint.ConstraintLayout
android:id="@+id/form_main_constraint"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/form_heading"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/bottom_line_shape"
android:gravity="center"
android:padding="5dp"
android:paddingLeft="5dp"
android:text="Buyer's Information"
android:textColor="@color/black"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_name"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="69dp"
android:layout_marginStart="8dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="8dp"
android:hint="Your Name"
app:boxBackgroundColor="@color/fields_background"
app:boxBackgroundMode="outline"
app:boxCornerRadiusBottomEnd="6dp"
app:boxCornerRadiusBottomStart="6dp"
app:boxCornerRadiusTopEnd="6dp"
app:boxCornerRadiusTopStart="6dp"
app:boxStrokeColor="@color/azsite"
app:errorEnabled="true"
app:errorTextAppearance="@color/red"
app:hintTextAppearance="@style/hint"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/form_heading">
<android.support.design.widget.TextInputEditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_email"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="69dp"
android:layout_marginStart="8dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="8dp"
android:hint="Your Email"
app:boxBackgroundColor="@color/fields_background"
app:boxBackgroundMode="outline"
app:boxCollapsedPaddingTop="0dp"
app:boxCornerRadiusBottomEnd="6dp"
app:boxCornerRadiusBottomStart="6dp"
app:boxCornerRadiusTopEnd="6dp"
app:boxCornerRadiusTopStart="6dp"
app:boxStrokeColor="@color/azsite"
app:errorEnabled="true"
app:errorTextAppearance="@color/red"
app:hintTextAppearance="@style/hint"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_input_name">
<android.support.design.widget.TextInputEditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_phone"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="69dp"
android:layout_marginStart="8dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="8dp"
android:hint="Phone Number"
app:boxBackgroundColor="@color/fields_background"
app:boxBackgroundMode="outline"
app:boxCornerRadiusBottomEnd="6dp"
app:boxCornerRadiusBottomStart="6dp"
app:boxCornerRadiusTopEnd="6dp"
app:boxCornerRadiusTopStart="6dp"
app:boxStrokeColor="@color/azsite"
app:errorEnabled="true"
app:errorTextAppearance="@color/red"
app:hintTextAppearance="@style/hint"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_input_email">
<android.support.design.widget.TextInputEditText
android:id="@+id/phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_address"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="69dp"
android:layout_marginStart="8dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="8dp"
android:hint="Your Address"
app:boxBackgroundColor="@color/fields_background"
app:boxBackgroundMode="outline"
app:boxCornerRadiusBottomEnd="6dp"
app:boxCornerRadiusBottomStart="6dp"
app:boxCornerRadiusTopEnd="6dp"
app:boxCornerRadiusTopStart="6dp"
app:boxStrokeColor="@color/azsite"
app:errorEnabled="true"
app:errorTextAppearance="@color/red"
app:hintTextAppearance="@style/hint"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_input_phone">
<android.support.design.widget.TextInputEditText
android:id="@+id/address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoSizeMinTextSize="8sp"
android:inputType="text"
android:maxLines="1"
android:minLines="1" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_note"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="69dp"
android:layout_marginStart="8dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="8dp"
android:hint="Add Extra Note"
app:boxBackgroundColor="@color/fields_background"
app:boxBackgroundMode="outline"
app:boxCornerRadiusBottomEnd="6dp"
app:boxCornerRadiusBottomStart="6dp"
app:boxCornerRadiusTopEnd="6dp"
app:boxCornerRadiusTopStart="6dp"
app:boxStrokeColor="@color/azsite"
app:errorEnabled="true"
app:errorTextAppearance="@color/red"
app:hintTextAppearance="@style/hint"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_input_address">
<android.support.design.widget.TextInputEditText
android:id="@+id/note"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
<android.support.v7.widget.CardView
android:id="@+id/materialCardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:soundEffectsEnabled="true"
app:cardBackgroundColor="@color/fields_background"
app:cardCornerRadius="6dp"
app:cardElevation="2dp"
app:cardMaxElevation="2dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_input_note">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/shipping_method"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bottom_line_shape_2"
android:gravity="center"
android:padding="5dp"
android:text="Select Shipping Method (Cash on Delivery)"
android:textColor="@color/black"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/shipping_method">
<RadioButton
android:id="@+id/tcs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:layout_weight="1"
android:buttonTint="@color/azsite"
android:text="LCS-TCS-DAEWOO (200/dress-100/KG for next)" />
<RadioButton
android:id="@+id/non_cod"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:layout_weight="1"
android:buttonTint="@color/azsite"
android:text="NON-COD(100/KG)" />
</RadioGroup>
</android.support.constraint.ConstraintLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:id="@+id/bill_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:soundEffectsEnabled="true"
app:cardBackgroundColor="@color/fields_background"
app:cardCornerRadius="6dp"
app:cardElevation="2dp"
app:cardMaxElevation="2dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/materialCardView">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/ammount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bottom_line_shape_2"
android:gravity="center"
android:padding="5dp"
android:text="Your Bill"
android:textColor="@color/black"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/bottom_line_shape_3"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ammount">
<TextView
android:id="@+id/product_total"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginEnd="8dp"
android:gravity="center|start"
android:padding="3dp"
android:text="Product Total ="
android:textColor="@color/black"
android:textSize="22sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/product_total_prize"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/product_total_prize"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/azsite"
android:gravity="center|left"
android:paddingLeft="3dp"
android:paddingRight="6dp"
android:text="0000"
android:textColor="@color/black"
android:textSize="22sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout2"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:background="@drawable/bottom_line_shape_3"
app:layout_constraintBottom_toTopOf="@+id/constraintLayout3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout">
<TextView
android:id="@+id/shipping_total"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginEnd="8dp"
android:gravity="center|start"
android:padding="3dp"
android:text="Shipping Total ="
android:textColor="@color/black"
android:textSize="22sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/shipping_total_price"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/shipping_total_price"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/azsite"
android:gravity="center|left"
android:paddingLeft="3dp"
android:paddingRight="6dp"
android:text="0000"
android:textColor="@color/black"
android:textSize="22sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout3"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="16dp"
android:background="@drawable/bottom_line_shape_3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout2">
<TextView
android:id="@+id/grand_total"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginEnd="8dp"
android:gravity="center|start"
android:padding="3dp"
android:text="Total ="
android:textColor="@color/black"
android:textSize="22sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/grand_total_price"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/grand_total_price"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/azsite"
android:gravity="center|left"
android:paddingLeft="3dp"
android:paddingRight="6dp"
android:text="0000"
android:textColor="@color/black"
android:textSize="22sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
</android.support.v7.widget.CardView>
<Button
android:id="@+id/submit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="16dp"
android:background="@drawable/bottom_line_shape_4_button_style"
android:foreground="?android:attr/selectableItemBackground"
android:text="Purchase"
android:textColor="@color/black"
android:textSize="22sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/bill_card" />
</android.support.constraint.ConstraintLayout>
</android.support.v4.widget.NestedScrollView>
您可以在布局的末尾添加一个空白视图。在您的按钮下。这样可以解决您的问题
尝试在约束布局中添加提交按钮下方的视图
<View
android:layout_width="match_parent"
android:layout_height="100dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/submit"/>