📜  Android 中的 ShimmerLayout 示例(1)

📅  最后修改于: 2023-12-03 14:39:09.480000             🧑  作者: Mango

Android 中的 ShimmerLayout 示例

简介

ShimmerLayout 是一个 Android 库,可以为任何 View 添加不断闪烁的光泽效果。它在 Splash 页面、加载视图、广告卡片等场景中经常使用。这种效果通常是使用一种自然的类似于凌波微步的动画带来的,这个动画被称为闪烁效果。Shimmer 是一个轻量级库,可以在 Android 应用程序中实现这种效果,而无需手动编写使用 Canvas 或 OpenGL 实现的自定义视图。

安装

将以下依赖项添加到项目级别 build.gradle 文件下,因为库具有 minSDK 版本 14,因此您需要使用此版本或更高版本的 SDK。

dependencies {
    implementation 'com.facebook.shimmer:shimmer:0.5.0'
}
使用

ShimmerLayout 库包括两个重要类:ShimmerFrameLayout 和 ShimmerTextView。前者可以添加到任何布局中,后者只能添加到文本视图中。

ShimmerFrameLayout
<com.facebook.shimmer.ShimmerFrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/shimmer_view_container"
    app:shimmer_duration="1000"
    app:shimmer_repeat_count="3"
    app:shimmer_direction="left_to_right">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:background="@android:color/white">
    </LinearLayout>

</com.facebook.shimmer.ShimmerFrameLayout>

在这个示例中,ShimmerFrameLayout 包含 LinearLayout,在 LinearLayout 中添加任何其他视图或元素。ShimmerFrameLayout 中的任何元素都将受到 Shimmer 效果影响。

参数说明

shimmer_duration

动画周期的持续时间(以毫秒为单位)。

shimmer_repeat_count

动画的重复次数。

shimmer_direction

动画的方向,可取值为以下选项之一:left_to_rightright_to_lefttop_to_bottombottom_to_top

ShimmerTextView
<com.facebook.shimmer.ShimmerTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/shimmer_tv"
    android:text="Shimmer Effect"
    android:textColor="@android:color/black"
    android:textSize="50sp"
    app:shimmer_duration="1000"
    app:shimmer_repeat_count="3"
    app:shimmer_direction="left_to_right"/>

在这个示例中,ShimmerTextView 替换了原始 TextView,但 参数和属性与常规 TextView 相同。ShimmerTextView 具有颜色、文本大小和其他视觉属性。

参数说明

shimmer_duration

动画周期的持续时间(以毫秒为单位)。

shimmer_repeat_count

动画的重复次数。

shimmer_direction

动画的方向,可取值为以下选项之一:left_to_rightright_to_lefttop_to_bottombottom_to_top

总结

ShimmerLayout 是一个非常好用的 Android 库,可以轻松地实现闪烁效果。通过添加 ShimmerLayout,您可以使应用程序的用户界面看起来更现代、更流动和更动态。