如何在 Android RecyclerView 中制作占位符项目?
How to make placeholder items in Android RecyclerView?
希望你一切都好
如何在加载 RecyclerView
时显示 fake/placeholders 项?
我有许多使用它的应用程序,如 Facebook 网站和移动应用程序,还有许多其他应用程序,如 Ebay、MercadoLibre,...
他们在加载内容时放置了假元素,并带有淡入动画,如下图所示:
你可以使用一个视图class然后设置一种背景颜色,最后添加一个alpha动画属性。
一步一步:
在布局设计中创建一个视图并设置宽度和高度。 (layout/activity_main.xml)
<View
android:id="@+id/my_view"
android:layout_width="100dp"
android:layout_height="20dp"
android:background="#bbb"/>
为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"/>
转到您的 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"/>
复制并粘贴此 class
为了性能,只使用一个动画视图。
希望你一切都好
如何在加载 RecyclerView
时显示 fake/placeholders 项?
我有许多使用它的应用程序,如 Facebook 网站和移动应用程序,还有许多其他应用程序,如 Ebay、MercadoLibre,...
他们在加载内容时放置了假元素,并带有淡入动画,如下图所示:
你可以使用一个视图class然后设置一种背景颜色,最后添加一个alpha动画属性。
一步一步:
在布局设计中创建一个视图并设置宽度和高度。 (layout/activity_main.xml)
<View android:id="@+id/my_view" android:layout_width="100dp" android:layout_height="20dp" android:background="#bbb"/>
为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"/>
转到您的 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"/>
复制并粘贴此 class
为了性能,只使用一个动画视图。