如何在 Android RecyclerView 中制作占位符项目?

How to make placeholder items in Android RecyclerView?

希望你一切都好

如何在加载 RecyclerView 时显示 fake/placeholders 项?

我有许多使用它的应用程序,如 Facebook 网站和移动应用程序,还有许多其他应用程序,如 Ebay、MercadoLibre,...

他们在加载内容时放置了假元素,并带有淡入动画,如下图所示:

你可以使用一个视图class然后设置一种背景颜色,最后添加一个alpha动画属性。

一步一步:

  1. 在布局设计中创建一个视图并设置宽度和高度。 (layout/activity_main.xml)

     <View
         android:id="@+id/my_view"
         android:layout_width="100dp"
         android:layout_height="20dp"
         android:background="#bbb"/>
    
  2. 为alpha动画制作一个动画文件(anim/placeholder.xml)

     <alpha
         android:fromAlpha="1.0"
         android:toAlpha="0.6" 
         android:interpolator="@android:anim/accelerate_decelerate_interpolator"
         android:duration="1000"
         android:repeatMode="reverse"
         android:repeatCount="infinite"/>
    
  3. 转到您的 activity 并开始播放动画 (MainActivity.kt)

    my_view.startAnimation(AnimationUtils.loadAnimation(上下文, R.anim.placeholder))

您还可以制作一个 RecyclerView 并在设计时传递元素列表。

或者您可以使用已列为 MockPlaceHolder 的 class,您的布局将如下所示:

<MockPlaceHolder
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layoutRes="@layout/placeholder_mock_main"
    app:repeact="5"/>

this gist

复制并粘贴此 class

为了性能,只使用一个动画视图。