首页 > 解决方案 > 如何实现像google news app一样的android占位符效果

问题描述

我发现在谷歌新闻应用中,占位符效果非常好,我想将这个效果应用到我的应用中。

众所周知,在编码时,我们通常在加载数据之前使用默认文本、默认背景或完全平淡无奇的活动。但是在谷歌新闻中,我发现每个textView cardView或其他布局在加载数据之前都会显示一个灰色圆形视图。这很酷。

这是一个屏幕截图: 在加载新闻之前,除了灰色圆形占位符视图之外什么都没有显示,在将填充数据的相同位置。在此处输入图像描述
在此处输入图像描述Activity

我怎样才能简单地达到这样的效果,或者唯一的方法是编写许多冗余代码和setVisibility(View.GONE, View.Visiable)

标签: androidgoogle-news

解决方案


您可以使用Facebook’s Shimmer Library

如何使用

将 Shimmer 依赖项添加到您build.gradle的项目并重建项目。

dependencies {           

    // Shimmer
    implementation 'com.facebook.shimmer:shimmer:0.1.0@aar'
}

添加你的 layout.xml 文件

<com.facebook.shimmer.ShimmerFrameLayout
     android:id=“@+id/shimmer_view_container”
     android:layout_width=“wrap_content”
     android:layout_height="wrap_content"
     shimmer:duration="5000" // Number of milliseconds to animate one ‘sweep’                                           
>
      // your complex view here

</com.facebook.shimmer.ShimmerFrameLayout>

现在在你的活动中

ShimmerFrameLayout container = 
    (ShimmerFrameLayout) findViewById(R.id.shimmer_view_container);
  container.startShimmerAnimation();

这是它的好文章Android Content Placeholder Animation like Facebook using Shimmer


推荐阅读