📜  如何在 Android 中创建 AnimatedGradient?

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

如何在 Android 中创建 AnimatedGradient?

在本文中,我们将学习如何在 android 中创建AnimatedGradient 。它可以在我们的应用程序的后台使用。在此,我们添加不同的颜色渐变并为其设置动画。即使在旧版本的 Instagram 中,开发人员也使用 AnimatedGradient 作为登录屏幕的背景,以使布局看起来很有吸引力。

方法:
第 1 步:创建要在后台更改的不同渐变 xml 文件。这些文件包括上半部分所示的startColor 、下半部分所示的endColor以及分隔这两个部分的水平线的角度。这里我们创建了三个渐变 xml 文件。

  1. 在 drawable 文件夹中创建一个gradient_one.xml文件并添加以下代码。
    gradient_one.xml
    
    
        
    


    gradient_two.xml
    
    
        
    


    gradient_three.xml
    
    
        
    


    gradient_list.xml
    
    
       
        
       
        
       
        
    


    activity_main.xml
    
    
       
        
       
    


    MainActivity.java
    package org.geeksforgeeks.gfganimatedGradient;
      
    package org.geeksforgeeks.gfganimatedGradient;
       
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.constraintlayout.widget.ConstraintLayout;
    import android.graphics.drawable.AnimationDrawable;
    import android.os.Bundle;
       
    public class MainActivity extends AppCompatActivity {
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
       
            ConstraintLayout layout = findViewById(R.id.layout);
       
            //With the help of AnimatedDrawable class, we can set
            //the duration to our background and then call the
            //function start at the end.
            AnimationDrawable animationDrawable = (AnimationDrawable) 
                              layout.getBackground();
            animationDrawable.setEnterFadeDuration(1500);
            animationDrawable.setExitFadeDuration(3000);
            animationDrawable.start();
        }
    }


  2. 在 drawable 文件夹中创建一个gradient_two.xml文件并添加以下代码。

    gradient_two.xml

    
    
        
    
    
  3. 在 drawable 文件夹中创建一个gradient_three.xml文件并添加以下代码。

    gradient_three.xml

    
    
        
    
    

第二步:在drawable文件夹中创建一个gradient_list.xml文件,添加如下代码。在这个文件中,我们添加了我们想要显示的所有渐变 xml 文件及其持续时间。

渐变列表.xml



   
    
   
    
   
    


第 3 步:现在在activity_main.xml文件中添加以下代码。在这个文件中,我们将 gradient_list 添加到布局的背景中。

activity_main.xml



   
    
   


第 4 步:现在在MainActivity 中添加以下代码。 Java文件。从类AnimatedDrawable中, setEnterFadeDurationsetExitFadeDuration等函数用于设置淡入淡出持续时间,最后使用start函数启动动画。

主要活动。Java

package org.geeksforgeeks.gfganimatedGradient;
  
package org.geeksforgeeks.gfganimatedGradient;
   
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
   
public class MainActivity extends AppCompatActivity {
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
   
        ConstraintLayout layout = findViewById(R.id.layout);
   
        //With the help of AnimatedDrawable class, we can set
        //the duration to our background and then call the
        //function start at the end.
        AnimationDrawable animationDrawable = (AnimationDrawable) 
                          layout.getBackground();
        animationDrawable.setEnterFadeDuration(1500);
        animationDrawable.setExitFadeDuration(3000);
        animationDrawable.start();
    }
}

  • 现在编译并运行 Android 应用程序。

    输出:

    参考:
    渐变可绘制
    动画可绘制