设为首页 收藏本站
查看: 1200|回复: 0

Windows Phone 7 开发 31 日谈——第12日:使手机震动

[复制链接]

尚未签到

发表于 2015-5-8 10:26:39 | 显示全部楼层 |阅读模式
  本文是“Windows Phone 7 开发 31 日谈”系列的第12日。
  昨天,我们谈到了Windows Phone的加速感应器,以及如何模拟一个真实设备来为我们提供数据。今天,我们来谈谈震动控制器(VibrateController)以及向用户提供程序中正在发生的事情的反馈。
  告诉某人如何使他的手机震动会立即引发一些没趣儿的笑话,所以,在我提及15次“震动”之前,会将他们带出到你的系统之外。呵呵,开始吧……我可以等。
  为什么要使手机震动?
  有很多很多愚蠢和/或不合适的原因来让一个手机震动。然而,本文的目的是讲述一些让手机震动的具体原因。
  游戏反馈
  让我们先从一个明显的例子入手:游戏。当你玩儿游戏时,可能不能一直为用户提供他们所需的所有信息。(尤其是他们的手指在屏幕上时。)给他们一些触觉反馈可以让他们知道他们正在被攻击或是有一些需要他们注意的东西。
  按钮反馈
  这个对你来说可能非常普通,但对于你程序中的每个按钮来说,触觉反馈可以让用户得知他们按下了相应的按钮。Windows Phone中默认按钮会在被按下时变为一种单色,但很多时候用户并不能确定他们是否点击了它(尤其是这个操作需要几秒的时候)。给他们提供一个快速的震动可以让他们知道他们达到了自己的目的。
  推送通知
  另一个很明显的,但是震动反馈却没有被充分利用到的时机是推送通知。默认时,如果你收到一封电子邮件,短信息等等,你的电话会震动(或响铃)。我们可以在程序中利用这些相同的用户体验。当用户因为某事被警告时,可以让手机振动。这在你的程序处于被动状态时尤为重要。例如,一个程序在跟踪你的位置而你正在穿过邻居家。如果信号消失,或者是到达了目标距离,只需一个震动就可以让用户无须看他们的手机便知道了。同样还是这个例子,你甚至可以每1/4英里就向他们反馈一次,那样他们就会意识到自己走了有多远。
  如何使手机震动?
  太感谢了,这难以置信地简单。你只需要2行代码就能实现,但你会花很多时间来调整从而满足你的具体需求。这是最基本的代码:
  


VibrateController vc = VibrateController.Default;
vc.Start(TimeSpan.FromMilliseconds(100));  震动多长时间?
  对于具体的提示应该震动多长时间没有一个统一的标准,但我会遵从一些规则,现在和你分享一下:
  
       
  • 对于一个按钮点击来说1/10秒比较合适(这也是VibrateController可以震动的最短时间)。   
  • 2秒=你的用户会说“我的电话到底是怎么了?”。2秒对于任何一个提示都太长了。   
  • 300毫秒(约为1/3秒)貌似是一个稳定的振动提示的合适时间。这样你的用户才不会认为电话出了毛病   
  • 快速的脉冲震动是让用户知道正在发生的事情的另一种好方法。我在代码中包含了这个例子,但如果想更清晰地了解我是如何做的,来看看我的这篇关于“如何在SilverLight中创建一个SetTimeout函数”的教程。
    下载示例代码
  在接下来的几天里我们会迎来一些重量级的话题,包括位置服务和墓碑机制。请在这个系列的任意文章中留下评论来告诉我你是如何想的!
DSC0000.png
  原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-12-Making-A-Phone-Vibrate.aspx
  

如果大家喜欢我的文章,请点击“推荐”,谢谢!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-64908-1-1.html 上篇帖子: Windows Phone 7 开发 31 日谈——第15日:独立存储 下篇帖子: Windows 7 任务栏开发 之 跳转列表(Jump Lists)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表