Android 每次调用“显示下一步”时,视图翻转器都会离开下一页边距

Android 每次调用“显示下一步”时,视图翻转器都会离开下一页边距,android,viewflipper,android-viewflipper,Android,Viewflipper,Android Viewflipper,每当调用showNext时,“我的视图翻转器”会断断续续地离开底部边距。 我的布局文件中使用的代码如下,宽度和高度不通过代码更改。请建议一个解决方案,每次我翻转,底部边距都会先增大后减小。布局的重心在底部 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"

每当调用showNext时,“我的视图翻转器”会断断续续地离开底部边距。 我的布局文件中使用的代码如下,宽度和高度不通过代码更改。请建议一个解决方案,每次我翻转,底部边距都会先增大后减小。布局的重心在底部

<?xml version="1.0" encoding="utf-8"?>
<layout 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">

    <data>
        <variable
            name="vm"
            type="com.kartik.grevocab.vm.FragmentWordPacketViewModel" />
    </data>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:padding="@dimen/dp10">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ProgressBar
                    android:id="@+id/progress_bar"
                    style="@android:style/Widget.ProgressBar.Horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="26dp"
                    android:max="100"
                    android:progress="@{vm.percent}"
                    android:progressDrawable="@drawable/progress_bar"
                    tools:progress="50" />

                <androidx.appcompat.widget.AppCompatTextView
                    android:id="@+id/progress_in_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp14"
                    android:text="@{String.format(@string/progress_text, vm.masteredWords, vm.totalWords)}"
                    android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                    tools:text="10/50" />
            </FrameLayout>

            <ImageView
                android:id="@+id/starred_image"
                android:layout_width="30dp"
                android:layout_height="wrap_content"
                android:layout_gravity="end|center_vertical"
                android:layout_marginTop="@dimen/dp10"
                android:contentDescription="@string/app_name"
                android:src="@drawable/star_selector"
                app:is_selected="@{vm.currentWordObservable.starred}" />

            <ViewFlipper
                android:id="@+id/view_flipper"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <androidx.cardview.widget.CardView
                    android:id="@+id/word_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:elevation="@dimen/dp5"
                    android:orientation="vertical"
                    android:minHeight="300dp"
                    app:cardCornerRadius="@dimen/dp20"
                    android:layout_marginBottom="@dimen/dp20"
                    android:visibility="visible">

                    <!-- this will be visible initially -->
                    <androidx.constraintlayout.widget.ConstraintLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:minHeight="300dp"
                        android:paddingStart="@dimen/dp5"
                        android:paddingEnd="@dimen/dp5"
                        android:layout_gravity="bottom"
                        android:orientation="vertical">

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/main_word"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_centerInParent="true"
                            android:gravity="center"
                            android:layout_marginTop="@dimen/dp20"
                            app:layout_constraintTop_toTopOf="parent"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintEnd_toStartOf="@id/speak"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            app:main_word="@{vm.currentWordObservable}"
                            tools:text="Amicable,Amicable,Amicable,Amicable, Amicable, Amicable, Amicable, Amicable, Amicable" />

                        <ImageView
                            android:id="@+id/speak"
                            android:layout_width="20dp"
                            android:layout_height="20dp"
                            android:layout_alignParentEnd="true"
                            android:layout_marginEnd="@dimen/dp5"
                            android:layout_marginTop="@dimen/dp20"
                            app:layout_constraintTop_toTopOf="parent"
                            app:layout_constraintEnd_toEndOf="parent"
                            android:contentDescription="@string/content_description_speak_the_word"
                            android:src="@drawable/ic_play" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/sentence_word_view"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:gravity="center"
                            app:layout_constraintTop_toBottomOf="@id/main_word"
                            app:layout_constraintBottom_toTopOf="@id/i_know_this_word"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintEnd_toStartOf="@id/speak"
                            android:text="@{vm.currentWordObservable.sentence}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="Liking something very much, friendly, blacg blah" />

                        <ImageView
                            android:id="@+id/i_do_not_know_this_word"
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:layout_marginBottom="@dimen/dp20"
                            app:layout_constraintEnd_toStartOf="@id/i_know_this_word"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintBottom_toBottomOf="parent"
                            tools:visibility="visible"
                            app:layout_constraintHorizontal_chainStyle="packed"
                            app:srcCompat="@drawable/ic_i_do_not_know_this_word"
                            android:contentDescription="@string/IDoNotKnowThisWord"
                            />

                        <ImageView
                            android:id="@+id/i_know_this_word"
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:layout_marginBottom="@dimen/dp20"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/i_do_not_know_this_word"
                            app:layout_constraintBottom_toBottomOf="parent"
                            app:layout_constraintHorizontal_chainStyle="packed"
                            app:srcCompat="@drawable/ic_i_know_this_word"
                            android:layout_marginStart="@dimen/dp40"
                            android:contentDescription="@string/IknowThisWord"
                           />
                    </androidx.constraintlayout.widget.ConstraintLayout>
                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/word_detail_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:elevation="@dimen/dp5"
                    android:orientation="vertical"
                    android:visibility="gone"
                    app:cardCornerRadius="@dimen/dp20"
                    android:layout_marginBottom="@dimen/dp20"
                    tools:visibility="visible">

                    <!-- this will be invisible initially, we need parent for smooth animations-->
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        tools:ignore="UselessParent">

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/main_word_word_detail_view"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp20"
                            android:gravity="center"
                            android:text="@{vm.currentWordObservable.name}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/meaning"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:text="@{String.format(@string/word_meaning_packet, vm.currentWordObservable.meaning)}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/similar_meaning"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            app:show_similar_meaning="@{vm.currentWordObservable}"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/sentence_word_detail"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:text="@{vm.currentWordObservable.sentence}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <!--<androidx.appcompat.widget.AppCompatTextView
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"-->
                        <!--android:id="@+id/purchase_add_comment"-->
                        <!--android:layout_width="wrap_content"-->
                        <!--android:layout_height="wrap_content"-->
                        <!--android:layout_gravity="center_horizontal"-->
                        <!--android:layout_marginTop="@dimen/dp10"-->
                        <!--android:background="@color/secondaryText"-->
                        <!--android:text="@string/PurchaseCommentHint"-->
                        <!--android:visibility="gone"-->
                        <!--android:gravity="center"/>-->

                        <androidx.appcompat.widget.AppCompatEditText
                            android:id="@+id/comment"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:imeOptions="actionDone"
                            android:inputType="text"
                            android:text="@{vm.currentWordObservable.comment}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

                        <ImageView
                            android:id="@+id/proceed"
                            android:layout_width="wrap_content"
                            android:layout_height="50dp"
                            android:layout_marginTop="@dimen/dp10"
                            android:scaleType="centerInside"
                            android:gravity="center"
                            app:srcCompat="@drawable/ic_proceed"
                            android:layout_marginBottom="@dimen/dp20"
                            android:contentDescription="@string/Proceed" />
                    </LinearLayout>
                </androidx.cardview.widget.CardView>
            </ViewFlipper>
        </LinearLayout>
    </ScrollView>
</layout>
每当调用showNext时,“我的视图翻转器”会断断续续地离开底部边距。 我的布局文件中使用的代码如下,宽度和高度不通过代码更改。请建议一个解决方案,每次我翻转,底部边距都会先增大后减小。布局的重心在底部

<?xml version="1.0" encoding="utf-8"?>
<layout 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">

    <data>
        <variable
            name="vm"
            type="com.kartik.grevocab.vm.FragmentWordPacketViewModel" />
    </data>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:padding="@dimen/dp10">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ProgressBar
                    android:id="@+id/progress_bar"
                    style="@android:style/Widget.ProgressBar.Horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="26dp"
                    android:max="100"
                    android:progress="@{vm.percent}"
                    android:progressDrawable="@drawable/progress_bar"
                    tools:progress="50" />

                <androidx.appcompat.widget.AppCompatTextView
                    android:id="@+id/progress_in_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp14"
                    android:text="@{String.format(@string/progress_text, vm.masteredWords, vm.totalWords)}"
                    android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                    tools:text="10/50" />
            </FrameLayout>

            <ImageView
                android:id="@+id/starred_image"
                android:layout_width="30dp"
                android:layout_height="wrap_content"
                android:layout_gravity="end|center_vertical"
                android:layout_marginTop="@dimen/dp10"
                android:contentDescription="@string/app_name"
                android:src="@drawable/star_selector"
                app:is_selected="@{vm.currentWordObservable.starred}" />

            <ViewFlipper
                android:id="@+id/view_flipper"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <androidx.cardview.widget.CardView
                    android:id="@+id/word_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:elevation="@dimen/dp5"
                    android:orientation="vertical"
                    android:minHeight="300dp"
                    app:cardCornerRadius="@dimen/dp20"
                    android:layout_marginBottom="@dimen/dp20"
                    android:visibility="visible">

                    <!-- this will be visible initially -->
                    <androidx.constraintlayout.widget.ConstraintLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:minHeight="300dp"
                        android:paddingStart="@dimen/dp5"
                        android:paddingEnd="@dimen/dp5"
                        android:layout_gravity="bottom"
                        android:orientation="vertical">

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/main_word"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_centerInParent="true"
                            android:gravity="center"
                            android:layout_marginTop="@dimen/dp20"
                            app:layout_constraintTop_toTopOf="parent"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintEnd_toStartOf="@id/speak"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            app:main_word="@{vm.currentWordObservable}"
                            tools:text="Amicable,Amicable,Amicable,Amicable, Amicable, Amicable, Amicable, Amicable, Amicable" />

                        <ImageView
                            android:id="@+id/speak"
                            android:layout_width="20dp"
                            android:layout_height="20dp"
                            android:layout_alignParentEnd="true"
                            android:layout_marginEnd="@dimen/dp5"
                            android:layout_marginTop="@dimen/dp20"
                            app:layout_constraintTop_toTopOf="parent"
                            app:layout_constraintEnd_toEndOf="parent"
                            android:contentDescription="@string/content_description_speak_the_word"
                            android:src="@drawable/ic_play" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/sentence_word_view"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:gravity="center"
                            app:layout_constraintTop_toBottomOf="@id/main_word"
                            app:layout_constraintBottom_toTopOf="@id/i_know_this_word"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintEnd_toStartOf="@id/speak"
                            android:text="@{vm.currentWordObservable.sentence}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="Liking something very much, friendly, blacg blah" />

                        <ImageView
                            android:id="@+id/i_do_not_know_this_word"
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:layout_marginBottom="@dimen/dp20"
                            app:layout_constraintEnd_toStartOf="@id/i_know_this_word"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintBottom_toBottomOf="parent"
                            tools:visibility="visible"
                            app:layout_constraintHorizontal_chainStyle="packed"
                            app:srcCompat="@drawable/ic_i_do_not_know_this_word"
                            android:contentDescription="@string/IDoNotKnowThisWord"
                            />

                        <ImageView
                            android:id="@+id/i_know_this_word"
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:layout_marginBottom="@dimen/dp20"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/i_do_not_know_this_word"
                            app:layout_constraintBottom_toBottomOf="parent"
                            app:layout_constraintHorizontal_chainStyle="packed"
                            app:srcCompat="@drawable/ic_i_know_this_word"
                            android:layout_marginStart="@dimen/dp40"
                            android:contentDescription="@string/IknowThisWord"
                           />
                    </androidx.constraintlayout.widget.ConstraintLayout>
                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/word_detail_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:elevation="@dimen/dp5"
                    android:orientation="vertical"
                    android:visibility="gone"
                    app:cardCornerRadius="@dimen/dp20"
                    android:layout_marginBottom="@dimen/dp20"
                    tools:visibility="visible">

                    <!-- this will be invisible initially, we need parent for smooth animations-->
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        tools:ignore="UselessParent">

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/main_word_word_detail_view"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp20"
                            android:gravity="center"
                            android:text="@{vm.currentWordObservable.name}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/meaning"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:text="@{String.format(@string/word_meaning_packet, vm.currentWordObservable.meaning)}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/similar_meaning"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            app:show_similar_meaning="@{vm.currentWordObservable}"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/sentence_word_detail"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:text="@{vm.currentWordObservable.sentence}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <!--<androidx.appcompat.widget.AppCompatTextView
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"-->
                        <!--android:id="@+id/purchase_add_comment"-->
                        <!--android:layout_width="wrap_content"-->
                        <!--android:layout_height="wrap_content"-->
                        <!--android:layout_gravity="center_horizontal"-->
                        <!--android:layout_marginTop="@dimen/dp10"-->
                        <!--android:background="@color/secondaryText"-->
                        <!--android:text="@string/PurchaseCommentHint"-->
                        <!--android:visibility="gone"-->
                        <!--android:gravity="center"/>-->

                        <androidx.appcompat.widget.AppCompatEditText
                            android:id="@+id/comment"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:imeOptions="actionDone"
                            android:inputType="text"
                            android:text="@{vm.currentWordObservable.comment}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

                        <ImageView
                            android:id="@+id/proceed"
                            android:layout_width="wrap_content"
                            android:layout_height="50dp"
                            android:layout_marginTop="@dimen/dp10"
                            android:scaleType="centerInside"
                            android:gravity="center"
                            app:srcCompat="@drawable/ic_proceed"
                            android:layout_marginBottom="@dimen/dp20"
                            android:contentDescription="@string/Proceed" />
                    </LinearLayout>
                </androidx.cardview.widget.CardView>
            </ViewFlipper>
        </LinearLayout>
    </ScrollView>
</layout>
每当调用showNext时,“我的视图翻转器”会断断续续地离开底部边距。 我的布局文件中使用的代码如下,宽度和高度不通过代码更改。请建议一个解决方案,每次我翻转,底部边距都会先增大后减小。布局的重心在底部

<?xml version="1.0" encoding="utf-8"?>
<layout 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">

    <data>
        <variable
            name="vm"
            type="com.kartik.grevocab.vm.FragmentWordPacketViewModel" />
    </data>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:padding="@dimen/dp10">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ProgressBar
                    android:id="@+id/progress_bar"
                    style="@android:style/Widget.ProgressBar.Horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="26dp"
                    android:max="100"
                    android:progress="@{vm.percent}"
                    android:progressDrawable="@drawable/progress_bar"
                    tools:progress="50" />

                <androidx.appcompat.widget.AppCompatTextView
                    android:id="@+id/progress_in_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp14"
                    android:text="@{String.format(@string/progress_text, vm.masteredWords, vm.totalWords)}"
                    android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                    tools:text="10/50" />
            </FrameLayout>

            <ImageView
                android:id="@+id/starred_image"
                android:layout_width="30dp"
                android:layout_height="wrap_content"
                android:layout_gravity="end|center_vertical"
                android:layout_marginTop="@dimen/dp10"
                android:contentDescription="@string/app_name"
                android:src="@drawable/star_selector"
                app:is_selected="@{vm.currentWordObservable.starred}" />

            <ViewFlipper
                android:id="@+id/view_flipper"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <androidx.cardview.widget.CardView
                    android:id="@+id/word_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:elevation="@dimen/dp5"
                    android:orientation="vertical"
                    android:minHeight="300dp"
                    app:cardCornerRadius="@dimen/dp20"
                    android:layout_marginBottom="@dimen/dp20"
                    android:visibility="visible">

                    <!-- this will be visible initially -->
                    <androidx.constraintlayout.widget.ConstraintLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:minHeight="300dp"
                        android:paddingStart="@dimen/dp5"
                        android:paddingEnd="@dimen/dp5"
                        android:layout_gravity="bottom"
                        android:orientation="vertical">

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/main_word"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_centerInParent="true"
                            android:gravity="center"
                            android:layout_marginTop="@dimen/dp20"
                            app:layout_constraintTop_toTopOf="parent"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintEnd_toStartOf="@id/speak"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            app:main_word="@{vm.currentWordObservable}"
                            tools:text="Amicable,Amicable,Amicable,Amicable, Amicable, Amicable, Amicable, Amicable, Amicable" />

                        <ImageView
                            android:id="@+id/speak"
                            android:layout_width="20dp"
                            android:layout_height="20dp"
                            android:layout_alignParentEnd="true"
                            android:layout_marginEnd="@dimen/dp5"
                            android:layout_marginTop="@dimen/dp20"
                            app:layout_constraintTop_toTopOf="parent"
                            app:layout_constraintEnd_toEndOf="parent"
                            android:contentDescription="@string/content_description_speak_the_word"
                            android:src="@drawable/ic_play" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/sentence_word_view"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:gravity="center"
                            app:layout_constraintTop_toBottomOf="@id/main_word"
                            app:layout_constraintBottom_toTopOf="@id/i_know_this_word"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintEnd_toStartOf="@id/speak"
                            android:text="@{vm.currentWordObservable.sentence}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="Liking something very much, friendly, blacg blah" />

                        <ImageView
                            android:id="@+id/i_do_not_know_this_word"
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:layout_marginBottom="@dimen/dp20"
                            app:layout_constraintEnd_toStartOf="@id/i_know_this_word"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintBottom_toBottomOf="parent"
                            tools:visibility="visible"
                            app:layout_constraintHorizontal_chainStyle="packed"
                            app:srcCompat="@drawable/ic_i_do_not_know_this_word"
                            android:contentDescription="@string/IDoNotKnowThisWord"
                            />

                        <ImageView
                            android:id="@+id/i_know_this_word"
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:layout_marginBottom="@dimen/dp20"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/i_do_not_know_this_word"
                            app:layout_constraintBottom_toBottomOf="parent"
                            app:layout_constraintHorizontal_chainStyle="packed"
                            app:srcCompat="@drawable/ic_i_know_this_word"
                            android:layout_marginStart="@dimen/dp40"
                            android:contentDescription="@string/IknowThisWord"
                           />
                    </androidx.constraintlayout.widget.ConstraintLayout>
                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/word_detail_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:elevation="@dimen/dp5"
                    android:orientation="vertical"
                    android:visibility="gone"
                    app:cardCornerRadius="@dimen/dp20"
                    android:layout_marginBottom="@dimen/dp20"
                    tools:visibility="visible">

                    <!-- this will be invisible initially, we need parent for smooth animations-->
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        tools:ignore="UselessParent">

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/main_word_word_detail_view"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp20"
                            android:gravity="center"
                            android:text="@{vm.currentWordObservable.name}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/meaning"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:text="@{String.format(@string/word_meaning_packet, vm.currentWordObservable.meaning)}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/similar_meaning"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            app:show_similar_meaning="@{vm.currentWordObservable}"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/sentence_word_detail"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:text="@{vm.currentWordObservable.sentence}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <!--<androidx.appcompat.widget.AppCompatTextView
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"-->
                        <!--android:id="@+id/purchase_add_comment"-->
                        <!--android:layout_width="wrap_content"-->
                        <!--android:layout_height="wrap_content"-->
                        <!--android:layout_gravity="center_horizontal"-->
                        <!--android:layout_marginTop="@dimen/dp10"-->
                        <!--android:background="@color/secondaryText"-->
                        <!--android:text="@string/PurchaseCommentHint"-->
                        <!--android:visibility="gone"-->
                        <!--android:gravity="center"/>-->

                        <androidx.appcompat.widget.AppCompatEditText
                            android:id="@+id/comment"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:imeOptions="actionDone"
                            android:inputType="text"
                            android:text="@{vm.currentWordObservable.comment}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

                        <ImageView
                            android:id="@+id/proceed"
                            android:layout_width="wrap_content"
                            android:layout_height="50dp"
                            android:layout_marginTop="@dimen/dp10"
                            android:scaleType="centerInside"
                            android:gravity="center"
                            app:srcCompat="@drawable/ic_proceed"
                            android:layout_marginBottom="@dimen/dp20"
                            android:contentDescription="@string/Proceed" />
                    </LinearLayout>
                </androidx.cardview.widget.CardView>
            </ViewFlipper>
        </LinearLayout>
    </ScrollView>
</layout>
每当调用showNext时,“我的视图翻转器”会断断续续地离开底部边距。 我的布局文件中使用的代码如下,宽度和高度不通过代码更改。请建议一个解决方案,每次我翻转,底部边距都会先增大后减小。布局的重心在底部

<?xml version="1.0" encoding="utf-8"?>
<layout 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">

    <data>
        <variable
            name="vm"
            type="com.kartik.grevocab.vm.FragmentWordPacketViewModel" />
    </data>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:padding="@dimen/dp10">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ProgressBar
                    android:id="@+id/progress_bar"
                    style="@android:style/Widget.ProgressBar.Horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="26dp"
                    android:max="100"
                    android:progress="@{vm.percent}"
                    android:progressDrawable="@drawable/progress_bar"
                    tools:progress="50" />

                <androidx.appcompat.widget.AppCompatTextView
                    android:id="@+id/progress_in_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="@dimen/dp14"
                    android:text="@{String.format(@string/progress_text, vm.masteredWords, vm.totalWords)}"
                    android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                    tools:text="10/50" />
            </FrameLayout>

            <ImageView
                android:id="@+id/starred_image"
                android:layout_width="30dp"
                android:layout_height="wrap_content"
                android:layout_gravity="end|center_vertical"
                android:layout_marginTop="@dimen/dp10"
                android:contentDescription="@string/app_name"
                android:src="@drawable/star_selector"
                app:is_selected="@{vm.currentWordObservable.starred}" />

            <ViewFlipper
                android:id="@+id/view_flipper"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <androidx.cardview.widget.CardView
                    android:id="@+id/word_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:elevation="@dimen/dp5"
                    android:orientation="vertical"
                    android:minHeight="300dp"
                    app:cardCornerRadius="@dimen/dp20"
                    android:layout_marginBottom="@dimen/dp20"
                    android:visibility="visible">

                    <!-- this will be visible initially -->
                    <androidx.constraintlayout.widget.ConstraintLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:minHeight="300dp"
                        android:paddingStart="@dimen/dp5"
                        android:paddingEnd="@dimen/dp5"
                        android:layout_gravity="bottom"
                        android:orientation="vertical">

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/main_word"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_centerInParent="true"
                            android:gravity="center"
                            android:layout_marginTop="@dimen/dp20"
                            app:layout_constraintTop_toTopOf="parent"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintEnd_toStartOf="@id/speak"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            app:main_word="@{vm.currentWordObservable}"
                            tools:text="Amicable,Amicable,Amicable,Amicable, Amicable, Amicable, Amicable, Amicable, Amicable" />

                        <ImageView
                            android:id="@+id/speak"
                            android:layout_width="20dp"
                            android:layout_height="20dp"
                            android:layout_alignParentEnd="true"
                            android:layout_marginEnd="@dimen/dp5"
                            android:layout_marginTop="@dimen/dp20"
                            app:layout_constraintTop_toTopOf="parent"
                            app:layout_constraintEnd_toEndOf="parent"
                            android:contentDescription="@string/content_description_speak_the_word"
                            android:src="@drawable/ic_play" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/sentence_word_view"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:gravity="center"
                            app:layout_constraintTop_toBottomOf="@id/main_word"
                            app:layout_constraintBottom_toTopOf="@id/i_know_this_word"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintEnd_toStartOf="@id/speak"
                            android:text="@{vm.currentWordObservable.sentence}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="Liking something very much, friendly, blacg blah" />

                        <ImageView
                            android:id="@+id/i_do_not_know_this_word"
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:layout_marginBottom="@dimen/dp20"
                            app:layout_constraintEnd_toStartOf="@id/i_know_this_word"
                            app:layout_constraintStart_toStartOf="parent"
                            app:layout_constraintBottom_toBottomOf="parent"
                            tools:visibility="visible"
                            app:layout_constraintHorizontal_chainStyle="packed"
                            app:srcCompat="@drawable/ic_i_do_not_know_this_word"
                            android:contentDescription="@string/IDoNotKnowThisWord"
                            />

                        <ImageView
                            android:id="@+id/i_know_this_word"
                            android:layout_width="50dp"
                            android:layout_height="50dp"
                            android:layout_marginBottom="@dimen/dp20"
                            app:layout_constraintEnd_toEndOf="parent"
                            app:layout_constraintStart_toEndOf="@id/i_do_not_know_this_word"
                            app:layout_constraintBottom_toBottomOf="parent"
                            app:layout_constraintHorizontal_chainStyle="packed"
                            app:srcCompat="@drawable/ic_i_know_this_word"
                            android:layout_marginStart="@dimen/dp40"
                            android:contentDescription="@string/IknowThisWord"
                           />
                    </androidx.constraintlayout.widget.ConstraintLayout>
                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/word_detail_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:elevation="@dimen/dp5"
                    android:orientation="vertical"
                    android:visibility="gone"
                    app:cardCornerRadius="@dimen/dp20"
                    android:layout_marginBottom="@dimen/dp20"
                    tools:visibility="visible">

                    <!-- this will be invisible initially, we need parent for smooth animations-->
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                        tools:ignore="UselessParent">

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/main_word_word_detail_view"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp20"
                            android:gravity="center"
                            android:text="@{vm.currentWordObservable.name}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/meaning"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:text="@{String.format(@string/word_meaning_packet, vm.currentWordObservable.meaning)}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/similar_meaning"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            app:show_similar_meaning="@{vm.currentWordObservable}"
                            tools:text="@string/WordList" />

                        <androidx.appcompat.widget.AppCompatTextView
                            android:id="@+id/sentence_word_detail"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:text="@{vm.currentWordObservable.sentence}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                            tools:text="@string/WordList" />

                        <!--<androidx.appcompat.widget.AppCompatTextView
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"-->
                        <!--android:id="@+id/purchase_add_comment"-->
                        <!--android:layout_width="wrap_content"-->
                        <!--android:layout_height="wrap_content"-->
                        <!--android:layout_gravity="center_horizontal"-->
                        <!--android:layout_marginTop="@dimen/dp10"-->
                        <!--android:background="@color/secondaryText"-->
                        <!--android:text="@string/PurchaseCommentHint"-->
                        <!--android:visibility="gone"-->
                        <!--android:gravity="center"/>-->

                        <androidx.appcompat.widget.AppCompatEditText
                            android:id="@+id/comment"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:layout_marginTop="@dimen/dp10"
                            android:gravity="center"
                            android:imeOptions="actionDone"
                            android:inputType="text"
                            android:text="@{vm.currentWordObservable.comment}"
                            android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

                        <ImageView
                            android:id="@+id/proceed"
                            android:layout_width="wrap_content"
                            android:layout_height="50dp"
                            android:layout_marginTop="@dimen/dp10"
                            android:scaleType="centerInside"
                            android:gravity="center"
                            app:srcCompat="@drawable/ic_proceed"
                            android:layout_marginBottom="@dimen/dp20"
                            android:contentDescription="@string/Proceed" />
                    </LinearLayout>
                </androidx.cardview.widget.CardView>
            </ViewFlipper>
        </LinearLayout>
    </ScrollView>
</layout>