【问题标题】:List View/Recycler View Pre Loading Animation列表视图/回收器视图预加载动画
【发布时间】:2017-03-02 06:31:03
【问题描述】:

我想制作一个加载动画,就像附加的屏幕截图一样。我在网上找不到它,或者我搜索的关键字有误。

谁能帮帮我?

列表项中的行显示为移动。我正在提供 Flipkart 应用程序 - 我的订单部分的屏幕截图

【问题讨论】:

标签: android listview android-recyclerview


【解决方案1】:

截图中的视图效果称为微光效果

有很多很好的示例和开源库可以提供微光效果。

  1. Facebook Shimmer 这个库提供了一个可以与任何布局一起使用的骨架布局。
  2. Shimmer RecyclerView这个库专门在 RecyclerView 中提供微光效果

您还可以查看可帮助您实现此行为的各种可用教程。

  1. https://www.androidhive.info/2018/01/android-content-placeholder-animation-like-facebook-using-shimmer/
  2. https://codinginfinite.com/facebook-shimmer-effect-android-example/

按照第一个教程,您将能够实现:Video

【讨论】:

  • 感谢您告知此效果的名称,Schimmer 效果。
【解决方案2】:

您需要使用Shimmer for Android library 并制作这样的加载布局

    <com.facebook.shimmer.ShimmerFrameLayout
        android:id="@+id/shimmer_view_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" android:tag="layout/component_loading_0" xmlns:android="http://schemas.android.com/apk/res/android">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:divider="@drawable/divider_drawable"
            android:orientation="vertical"
            android:showDividers="middle" android:tag="binding_1">

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

            <include layout="@layout/view_placeholder" />

        </LinearLayout>
    </com.facebook.shimmer.ShimmerFrameLayout>

【讨论】:

    【解决方案3】:

    我认为类似 waveLoad 的动画可能对你有用。 所以设计您自己的动画或使用这些库:

    WaveLoadingView1

    WaveLoadingView2

    【讨论】:

    • 提到的这些库并不能解决问题。
    【解决方案4】:

    这类视图称为骨架视图。

    您可以为您的视图创建骨架,并在加载时使用闪烁动画显示骨架视图,而不是通常的进度条。

    你可以看看this library

    【讨论】:

      【解决方案5】:

      我想你想要的是由 Facebook 制作的Shimmer-android 动画。 这是一个很好的example 来实现它。

      【讨论】:

        猜你喜欢
        • 2011-12-07
        • 2016-04-20
        • 1970-01-01
        • 2018-05-09
        • 1970-01-01
        • 1970-01-01
        • 2017-03-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多