以下是我的recyclerview项之一的布局。我想在隐藏或显示description
视图时进行动画处理。因此,我已将animatelayoutChanges="true"
设置为itemView
,并使用((ViewGroup)((RecordViewHolder)viewHolder).itemView).getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING);
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/itemView"
android:animateLayoutChanges="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/daily_record_show"
android:layout_width="match_parent"
android:orientation="vertical"
android:animateLayoutChanges="true"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/daily_record_show_inner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="5dp"
android:paddingBottom="5dp">
<TextView
android:id="@+id/dateView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dp"
android:text="12-03-2018"
android:visibility="gone" />
<TextView
android:id="@+id/name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="60"
android:drawablePadding="10dp"
android:text="@string/carried_forward"
android:textAlignment="textStart"
android:textColor="?android:attr/textColorPrimary"
android:textSize="16sp"
android:visibility="visible" />
<TextView
android:id="@+id/amt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="40"
android:paddingEnd="20dp"
android:singleLine="true"
android:text="100"
android:textAlignment="textEnd"
android:textColor="?android:attr/textColorPrimary"
android:textSize="16sp" />
</LinearLayout>
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
android:text="@string/backup_to_google_drive_text"
android:textSize="14sp"
android:textStyle="italic"
android:visibility="gone" />
</LinearLayout>
<LinearLayout> some other views ...</LinearLayout>
对5个项目的布局进行动画处理。超过5个项目,则项目不必要进行动画处理。此外,这些项目在滚动时还会显示其他空格。
我需要一些建议,以使动画在任何数量的项目中都能流畅运行,并在滚动时删除那些不需要的空间。