前言
在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)容:
- 實(shí)現(xiàn)效果
- StartSreen類(lèi)介紹
- 在Mainactivity中調(diào)用代碼
- 小竅門(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è)效果斧散。廢話不多講,下面貼出效果圖摊聋。
二.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毫捣,今天就講到這里了详拙,謝謝大家。
`