Android 中的 ShimmerLayout 示例
ShimmerLayout可用于向 Android 应用程序添加微光效果(如Facebook或LinkedIn中的效果)。此布局主要用于当应用从 API 获取数据但任务是长时间运行的任务时。因此,最好添加ShimmerLayout而不是显示空白屏幕,因为它会通知用户布局处于加载状态。
好处:
- ShimmerLayout 具有内存效率。
- 它可以根据应用的需要进行定制。
坏处:
- 它已被弃用。
方法:
- 在build.gradle文件中添加支持库,并在依赖项部分添加依赖项。它允许开发人员直接使用内置函数。
dependencies { implementation 'io.supercharge:shimmerlayout:2.1.0' }
- 在 drawable 文件夹中创建circle.xml文件并添加以下代码。这将与 textview 一起在 ShimmerLayout 中使用。
circle.xml
activity_main.xml
MainActivity.java
package org.geeksforgeeks.shimmerLayout; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import io.supercharge.shimmerlayout.ShimmerLayout; public class MainActivity extends AppCompatActivity { @Override protected void onCreate( @Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ShimmerLayout layout = findViewById( R.id.shimmer_layout); layout.startShimmerAnimation(); } }
- 在activity_main.xml文件中添加以下代码。在此文件中,添加ShimmerLayout及其子视图。在 ImageView 的src标签中添加 circle.XML。
activity_main.xml
- 在MainActivity 中添加以下代码。 Java文件。在这个文件中, startShimmerAnimation方法用于在 ShimmerLayout 上启动动画。
主要活动。Java
package org.geeksforgeeks.shimmerLayout; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import io.supercharge.shimmerlayout.ShimmerLayout; public class MainActivity extends AppCompatActivity { @Override protected void onCreate( @Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ShimmerLayout layout = findViewById( R.id.shimmer_layout); layout.startShimmerAnimation(); } }
- 输出:
参考: https://github.com/team-supercharge/ShimmerLayout