📜  Android 中的 ShimmerLayout 示例

📅  最后修改于: 2022-05-13 01:54:18.663000             🧑  作者: Mango

Android 中的 ShimmerLayout 示例

ShimmerLayout可用于向 Android 应用程序添加微光效果(如FacebookLinkedIn中的效果)。此布局主要用于当应用从 API 获取数据但任务是长时间运行的任务时。因此,最好添加ShimmerLayout而不是显示空白屏幕,因为它会通知用户布局处于加载状态。

好处:

  • ShimmerLayout 具有内存效率。
  • 它可以根据应用的需要进行定制。

坏处:

  • 它已被弃用。

方法:

  1. build.gradle文件中添加支持库,并在依赖项部分添加依赖项。它允许开发人员直接使用内置函数。
    dependencies {     
          implementation 'io.supercharge:shimmerlayout:2.1.0'
    }          
    
  2. 在 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();
        }
    }


  3. activity_main.xml文件中添加以下代码。在此文件中,添加ShimmerLayout及其子视图。在 ImageView 的src标签中添加 circle.XML。

    activity_main.xml

    
        
            
                
                
            
            
                
                
            
            
                
                
            
        
    
    

  4. 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