这是一篇关于如何实现渐变动画背景的简易教程。
要实现这种效果,我们需要的是AnimationList.
首先我们需要创建五个渐变的Drawable资源文件,如下:
现在我们可以在一个新的drawable文件中通过AnimationList结合上面的颜色渐变资源文件,实现背景色的变化效果。在AnimationList的标签里,通过item标签来指向gradient渐变资源。
现在我们就可以把这个背景文件设置为Activity中View/ViewGroup的背景,来实现我们想要的渐变效果。
xmlns:app="/apk/res-auto"
xmlns:tools="/tools"
android:id="@+id/linear_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_animation_list"
android:orientation="vertical>
最后我们需要做的就是在java代码中调用AnimationList的start()方法。
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linear_layout);
AnimationDrawable animationDrawable = (AnimationDrawable) linearLayout.getBackground();
animationDrawable.setEnterFadeDuration(2500);
animationDrawable.setExitFadeDuration(5000);
animationDrawable.start();
如上,我们为LinearLayout设置了AnimationList资源,然后通过AnimationDrawable实例化动画背景,同时设置了每一个渐变背景的进入和结束动画时间。
你可以自己调节每个片段动画的进入和结束时间,来实现最佳效果。同时,你也可以自己添加更多的渐变效果,这里提供一个渐变颜色组合的工具网站:/#Jaipur