NestedScrollView中具有ConstraintLayout的最后一项未完全显示

问题描述 投票:0回答:2

我在CoordinatorLayoutCollapsingToolbarLayout上遇到问题。实际上,当我使用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>

android android-constraintlayout android-coordinatorlayout android-collapsingtoolbarlayout android-nestedscrollview
2个回答
0
投票

您可以在布局的末尾添加一个空白视图。在您的按钮下。这样可以解决您的问题


0
投票

尝试在约束布局中添加提交按钮下方的视图

<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"/>
© www.soinside.com 2019 - 2024. All rights reserved.