如何在 Android 中创建 AnimatedGradient?
在本文中,我们将学习如何在 android 中创建AnimatedGradient 。它可以在我们的应用程序的后台使用。在此,我们添加不同的颜色渐变并为其设置动画。即使在旧版本的 Instagram 中,开发人员也使用 AnimatedGradient 作为登录屏幕的背景,以使布局看起来很有吸引力。
方法:
第 1 步:创建要在后台更改的不同渐变 xml 文件。这些文件包括上半部分所示的startColor 、下半部分所示的endColor以及分隔这两个部分的水平线的角度。这里我们创建了三个渐变 xml 文件。
- 在 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(); } }
- 在 drawable 文件夹中创建一个gradient_two.xml文件并添加以下代码。
gradient_two.xml
- 在 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中, setEnterFadeDuration和setExitFadeDuration等函数用于设置淡入淡出持续时间,最后使用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();
}
}
输出:
参考:
渐变可绘制
动画可绘制