美文网首页AndroidAndroidAndroid开发
Android实现颜色渐变启动页

Android实现颜色渐变启动页

作者: 奔跑的佩恩 | 来源:发表于2019-03-22 23:35 被阅读469次

    前言

    在Android开发过程中,启动页是一个app打开的时候第一个映入我们眼帘的,它承载着太多东西,有给我们第一视觉的美感,有预加载数据的功能,对于任何一个app而言,启动页都是必不可少的一部分。那么今天我们就来讲一个实现启动页渐变的类:StartSreen。

    今天涉及的内容:

    1. 实现效果
    2. StartSreen类介绍
    3. 在Mainactivity中调用代码
    4. 小窍门

    注意:大家可以在 Demo大师 上关注 “奔跑的佩恩”,搜索文章《Android实现颜色渐变启动页》下载对应demo

    一.实现效果

    首先,介绍下实现的效果是,进入启动页后,界面颜色会在一个短的时间内从一个颜色逐渐变成另一个颜色,当完全变成另一个颜色以后,即实现了启动页效果。废话不多讲,下面贴出效果图。


    jk.gif

    二.StartSreen类介绍

    StartSreen,顾名思义,启动页面。
    StartSreen包含以下几个方法:

    2.1 初始化
    //初始化
    /**
         * @param startColor 八位或六位色值,如:"#F3D266" 或 "#FFF3D266"
         * @param endColor  八位或六位色值,如:"#FFFFFF" 或 "#FFFFFFFF"
         */
        public StartScreen(String startColor,String endColor);
    

    StartScreen初始化的时候,需要传入两个色值,startColor 和 endColor,分别表示 启动页 开始的色值和渐变以后的最终色值。这两个参数均为String类型,且色值必须是八位或六位色值,如:"#F3D266" 或 "#FFF3D266"

    2.2 设置颜色变化时间总长(单位毫秒)
    //设置颜色变化时间总长(单位毫秒)
    setDelayTime(long delayTime);
    

    此方法是设置界面颜色由 startColor 变到 endColor 所花的时间,单位是毫秒

    2.3 获取颜色变化时间总长(单位毫秒)
    getDelayTime();
    

    获取颜色变化总长时间,单位毫秒,默认值是1500,即1.5秒

    2.4 设置颜色渐变频率(单位毫秒)
    //设置颜色渐变频率(单位毫秒)
    setChangeTime(long changeTime)
    

    简单来讲就是用来设置颜色变化的速度,单位是毫秒。

    2.5 获取颜色渐变频率(单位毫秒)
    getChangeTime();
    

    单位毫秒,默认变化粒度为10毫秒

    2.6 执行渐变的方法
    start(final View view, final OnFinishListener listener);
    

    参数介绍如下:
    view:要实行颜色渐变的控件
    listener:渐变结束的回调

    三. 在Mainactivity中调用代码

    下面贴出StartSreen在MainActivity中的使用代码

    public class MainActivity extends BaseActivity {
    
        @Override
        public int getContentViewId() {
            return R.layout.activity_main;
        }
    
        @Override
        public void initData() {
            //启动
            startApp();
        }
    
        @Override
        public void setListener() {
    
        }
    
        /**启动**/
        private void startApp() {
            //#F3D266
            new StartScreen("#FFFFFF", "#FF69B4").start(mLayoutView, new StartScreen.OnFinishListener() {
                @Override
                public void onFinish() {
                    showShort("启动页加载完毕");
                }
            });
        }
    
    }
    

    以上代码中的mLayoutView即为MainActivity的布局控件,即为渐变整个屏幕的“背景”。

    四.小窍门

    值得注意的是,StartScreen支持链式调用,如果你要在执行渐变效果的同时需要设置渐变参数,你可以这样调用:

            new StartScreen("#FFFFFF", "#FF69B4")//设置渐变起止色值
                    .setDelayTime(2000)//设置渐变总时长
                    .setChangeTime(30)//设置渐变频率
                    //执行渐变效果
                    .start(mLayoutView, new StartScreen.OnFinishListener() {
                        @Override
                        public void onFinish() {
                            showShort("启动页加载完毕");
                        }
                    });
    

    需要注意的是,在链式调用过程中,start(final View view, final OnFinishListener listener);方法必须是最后一个调用。

    ok,今天就讲到这里了,谢谢大家。

    `

    相关文章

      网友评论

        本文标题:Android实现颜色渐变启动页

        本文链接:https://www.haomeiwen.com/subject/zbddvqtx.html