当项目内的视图发生变化时,对回收视图的项目进行动画处理。

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

下面是我的一个回收项目的布局,我想在隐藏或显示时做一个动画。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个项目的时候,项目的动画就不必要了。另外,这些项目在滚动时显示出额外的白色空间。

我需要一些建议,如何让任何数量的项目的动画工作顺利进行,并在滚动时删除那些不必要的空间。

android android-recyclerview android-animation
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.