31天學(xué)會(huì)Windows Phone 7開(kāi)發(fā):使手機(jī)震動(dòng)
上一篇,我們談到了Windows Phone的加速感應(yīng)器,以及如何模擬一個(gè)真實(shí)設(shè)備來(lái)為我們提供數(shù)據(jù)。本文,我們來(lái)談?wù)務(wù)饎?dòng)控制器(VibrateController)以及向用戶(hù)提供程序中正在發(fā)生的事情的反饋。
告訴某人如何使他的手機(jī)震動(dòng)會(huì)立即引發(fā)一些沒(méi)趣兒的笑話(huà),所以,在我提及15次“震動(dòng)”之前,會(huì)將他們帶出到你的系統(tǒng)之外。
為什么要使手機(jī)震動(dòng)?
有很多很多愚蠢和/或不合適的原因來(lái)讓一個(gè)手機(jī)震動(dòng)。然而,本文的目的是講述一些讓手機(jī)震動(dòng)的具體原因。
游戲反饋
讓我們先從一個(gè)明顯的例子入手:游戲。當(dāng)你玩兒游戲時(shí),可能不能一直為用戶(hù)提供他們所需的所有信息。(尤其是他們的手指在屏幕上時(shí)。)給他們一些觸覺(jué)反饋可以讓他們知道他們正在被攻擊或是有一些需要他們注意的東西。
按鈕反饋
這個(gè)對(duì)你來(lái)說(shuō)可能非常普通,但對(duì)于你程序中的每個(gè)按鈕來(lái)說(shuō),觸覺(jué)反饋可以讓用戶(hù)得知他們按下了相應(yīng)的按鈕。Windows Phone中默認(rèn)按鈕會(huì)在被按下時(shí)變?yōu)橐环N單色,但很多時(shí)候用戶(hù)并不能確定他們是否點(diǎn)擊了它(尤其是這個(gè)操作需要幾秒的時(shí)候)。給他們提供一個(gè)快速的震動(dòng)可以讓他們知道他們達(dá)到了自己的目的。
推送通知
另一個(gè)很明顯的,但是震動(dòng)反饋卻沒(méi)有被充分利用到的時(shí)機(jī)是推送通知。默認(rèn)時(shí),如果你收到一封電子郵件,短信息等等,你的電話(huà)會(huì)震動(dòng)(或響鈴)。我們可以在程序中利用這些相同的用戶(hù)體驗(yàn)。當(dāng)用戶(hù)因?yàn)槟呈卤痪鏁r(shí),可以讓手機(jī)振動(dòng)。這在你的程序處于被動(dòng)狀態(tài)時(shí)尤為重要。例如,一個(gè)程序在跟蹤你的位置而你正在穿過(guò)鄰居家。如果信號(hào)消失,或者是到達(dá)了目標(biāo)距離,只需一個(gè)震動(dòng)就可以讓用戶(hù)無(wú)須看他們的手機(jī)便知道了。同樣還是這個(gè)例子,你甚至可以每1/4英里就向他們反饋一次,那樣他們就會(huì)意識(shí)到自己走了有多遠(yuǎn)。
如何使手機(jī)震動(dòng)?
太感謝了,這難以置信地簡(jiǎn)單。你只需要2行代碼就能實(shí)現(xiàn),但你會(huì)花很多時(shí)間來(lái)調(diào)整從而滿(mǎn)足你的具體需求。這是最基本的代碼:
- VibrateController vc = VibrateController.Default;
- vc.Start(TimeSpan.FromMilliseconds(100));
震動(dòng)多長(zhǎng)時(shí)間?
對(duì)于具體的提示應(yīng)該震動(dòng)多長(zhǎng)時(shí)間沒(méi)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),但我會(huì)遵從一些規(guī)則,現(xiàn)在和你分享一下:
1. 對(duì)于一個(gè)按鈕點(diǎn)擊來(lái)說(shuō)1/10秒比較合適(這也是VibrateController可以震動(dòng)的最短時(shí)間)。
2. 2秒=你的用戶(hù)會(huì)說(shuō)“我的電話(huà)到底是怎么了?”。2秒對(duì)于任何一個(gè)提示都太長(zhǎng)了。
3. 300毫秒(約為1/3秒)貌似是一個(gè)穩(wěn)定的振動(dòng)提示的合適時(shí)間。這樣你的用戶(hù)才不會(huì)認(rèn)為電話(huà)出了毛病。
4.快速的脈沖震動(dòng)是讓用戶(hù)知道正在發(fā)生的事情的另一種好方法。我在代碼中包含了這個(gè)例子,但如果想更清晰地了解我是如何做的,來(lái)看看我的這篇關(guān)于“如何在SilverLight中創(chuàng)建一個(gè)SetTimeout函數(shù)”的教程。
下載示例代碼
在接下來(lái)的幾篇文章里我們會(huì)迎來(lái)一些重量級(jí)的話(huà)題,包括位置服務(wù)和墓碑機(jī)制。
原作者:Jeff Blankenburg 譯者:金山崟霸
中文來(lái)源:http://www.cnblogs.com/porscheyin/archive/2010/12/22/1914287.html
英文來(lái)源:http://www.jeffblankenburg.com/2010/10/12/31-days-of-windows-phone-day-12-making-a-phone-vibrate/
【編輯推薦】