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