下面是我的一个回收项目的布局,我想在隐藏或显示时做一个动画。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个项目的时候,项目的动画就不必要了。另外,这些项目在滚动时显示出额外的白色空间。
我需要一些建议,如何让任何数量的项目的动画工作顺利进行,并在滚动时删除那些不必要的空间。