Android實(shí)現(xiàn)顏色漸變啟動(dòng)頁(yè)

前言

在Android開(kāi)發(fā)過(guò)程中邦鲫,啟動(dòng)頁(yè)是一個(gè)app打開(kāi)的時(shí)候第一個(gè)映入我們眼簾的低矮,它承載著太多東西,有給我們第一視覺(jué)的美感曹仗,有預(yù)加載數(shù)據(jù)的功能,對(duì)于任何一個(gè)app而言,啟動(dòng)頁(yè)都是必不可少的一部分滔以。然后我就把實(shí)現(xiàn)顏色漸變的功能封裝成了一個(gè)類(lèi)StartSreen蝗锥,那么今天我們就來(lái)講講這個(gè)類(lèi)的使用吧。

許多人說(shuō)沒(méi)代碼轨蛤,那我再重申下:大家可以在 Demo大師 上關(guān)注 “奔跑的佩恩”蜜宪,搜索文章《Android實(shí)現(xiàn)顏色漸變啟動(dòng)頁(yè)》下載對(duì)應(yīng)demo

今天涉及的內(nèi)容:

  1. 實(shí)現(xiàn)效果
  2. StartSreen類(lèi)介紹
  3. 在Mainactivity中調(diào)用代碼
  4. 小竅門(mén)

注意:大家可以在 Demo大師 上關(guān)注 “奔跑的佩恩”,搜索文章《Android實(shí)現(xiàn)顏色漸變啟動(dòng)頁(yè)》下載對(duì)應(yīng)demo

一.實(shí)現(xiàn)效果

首先祥山,介紹下實(shí)現(xiàn)的效果是圃验,進(jìn)入啟動(dòng)頁(yè)后,界面顏色會(huì)在一個(gè)短的時(shí)間內(nèi)從一個(gè)顏色逐漸變成另一個(gè)顏色缝呕,當(dāng)完全變成另一個(gè)顏色以后澳窑,即實(shí)現(xiàn)了啟動(dòng)頁(yè)效果斧散。廢話不多講,下面貼出效果圖摊聋。


jk.gif

二.StartSreen類(lèi)介紹

StartSreen鸡捐,顧名思義,啟動(dòng)頁(yè)面麻裁。
StartSreen包含以下幾個(gè)方法:

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

StartScreen初始化的時(shí)候悲立,需要傳入兩個(gè)色值鹿寨,startColor 和 endColor,分別表示 啟動(dòng)頁(yè) 開(kāi)始的色值和漸變以后的最終色值薪夕。這兩個(gè)參數(shù)均為String類(lèi)型脚草,且色值必須是八位或六位色值,如:"#F3D266" 或 "#FFF3D266"

2.2 設(shè)置顏色變化時(shí)間總長(zhǎng)(單位毫秒)
//設(shè)置顏色變化時(shí)間總長(zhǎng)(單位毫秒)
setDelayTime(long delayTime);

此方法是設(shè)置界面顏色由 startColor 變到 endColor 所花的時(shí)間原献,單位是毫秒

2.3 獲取顏色變化時(shí)間總長(zhǎng)(單位毫秒)
getDelayTime();

獲取顏色變化總長(zhǎng)時(shí)間馏慨,單位毫秒,默認(rèn)值是1500姑隅,即1.5秒

2.4 設(shè)置顏色漸變頻率(單位毫秒)
//設(shè)置顏色漸變頻率(單位毫秒)
setChangeTime(long changeTime)

簡(jiǎn)單來(lái)講就是用來(lái)設(shè)置顏色變化的速度写隶,單位是毫秒。

2.5 獲取顏色漸變頻率(單位毫秒)
getChangeTime();

單位毫秒讲仰,默認(rèn)變化粒度為10毫秒

2.6 執(zhí)行漸變的方法
start(final View view, final OnFinishListener listener);

參數(shù)介紹如下:
view:要實(shí)行顏色漸變的控件
listener:漸變結(jié)束的回調(diào)

三. 在Mainactivity中調(diào)用代碼

下面貼出StartSreen在MainActivity中的使用代碼

public class MainActivity extends BaseActivity {

    @Override
    public int getContentViewId() {
        return R.layout.activity_main;
    }

    @Override
    public void initData() {
        //啟動(dòng)
        startApp();
    }

    @Override
    public void setListener() {

    }

    /**啟動(dòng)**/
    private void startApp() {
        //#F3D266
        new StartScreen("#FFFFFF", "#FF69B4").start(mLayoutView, new StartScreen.OnFinishListener() {
            @Override
            public void onFinish() {
                showShort("啟動(dòng)頁(yè)加載完畢");
            }
        });
    }

}

以上代碼中的mLayoutView即為MainActivity的布局控件慕趴,即為漸變整個(gè)屏幕的“背景”。

四.小竅門(mén)

值得注意的是鄙陡,StartScreen支持鏈?zhǔn)秸{(diào)用冕房,如果你要在執(zhí)行漸變效果的同時(shí)需要設(shè)置漸變參數(shù),你可以這樣調(diào)用:

        new StartScreen("#FFFFFF", "#FF69B4")//設(shè)置漸變起止色值
                .setDelayTime(2000)//設(shè)置漸變總時(shí)長(zhǎng)
                .setChangeTime(30)//設(shè)置漸變頻率
                //執(zhí)行漸變效果
                .start(mLayoutView, new StartScreen.OnFinishListener() {
                    @Override
                    public void onFinish() {
                        showShort("啟動(dòng)頁(yè)加載完畢");
                    }
                });

需要注意的是趁矾,在鏈?zhǔn)秸{(diào)用過(guò)程中耙册,start(final View view, final OnFinishListener listener);方法必須是最后一個(gè)調(diào)用。

ok毫捣,今天就講到這里了详拙,謝謝大家。

`

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蔓同,一起剝皮案震驚了整個(gè)濱河市饶辙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌斑粱,老刑警劉巖畸悬,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蹋宦,警方通過(guò)查閱死者的電腦和手機(jī)披粟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)冷冗,“玉大人守屉,你說(shuō)我怎么就攤上這事≥镎蓿” “怎么了拇泛?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)思灌。 經(jīng)常有香客問(wèn)我俺叭,道長(zhǎng),這世上最難降的妖魔是什么泰偿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任熄守,我火速辦了婚禮,結(jié)果婚禮上耗跛,老公的妹妹穿的比我還像新娘裕照。我一直安慰自己,他們只是感情好调塌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布晋南。 她就那樣靜靜地躺著,像睡著了一般羔砾。 火紅的嫁衣襯著肌膚如雪负间。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天姜凄,我揣著相機(jī)與錄音政溃,去河邊找鬼。 笑死檀葛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腹缩。 我是一名探鬼主播屿聋,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼藏鹊!你這毒婦竟也來(lái)了润讥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤盘寡,失蹤者是張志新(化名)和其女友劉穎楚殿,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體竿痰,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡脆粥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年砌溺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片变隔。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡规伐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出匣缘,到底是詐尸還是另有隱情猖闪,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布肌厨,位于F島的核電站培慌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏柑爸。R本人自食惡果不足惜吵护,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望竖配。 院中可真熱鬧何址,春花似錦、人聲如沸进胯。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)胁镐。三九已至偎血,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盯漂,已是汗流浹背颇玷。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留就缆,地道東北人帖渠。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像竭宰,于是被迫代替她去往敵國(guó)和親空郊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354