移动触屏的手指触发尺寸

01183619_swkL.png

[翻译]移动触屏的手指触发尺寸

作者:久愚 | 时间:2013-05-27 13:57

文章原址:http://uxdesign.smashingmagazine.com/2012/02/21/finger-friendly-design-ideal-mobile-touchscreen-target-sizes/

 

来自各移动平台的设计指导方针

苹果iPhone人机界面指南推荐的最小目标大小为44px宽,44px高。微软的Windows手机用户界面设计和交互设计指南建议一个最低目标尺寸是26px乘以34px。诺基亚的开发者指南建议,目标尺寸应不小于1cm×1cm平方或28×28像素。

虽然这些指南给到了触摸目标的一般测量建议,但彼此不同,也与人体实际手指大小不一致。事实上,他们建议的尺寸比用户平均手指尺寸小得多,从而导致用户在触摸移动设备时产生目标定位不精准的问题

 

太小的可触目标会导致大问题

小的可触目标会让用户在使用时非常麻烦,因为他们需要更精准的定位。用户需要调整他们的手指,从指垫调整到指尖,让自己能清晰的击中目标。当用户用 手指垫操作时,会覆盖整个目标,以至于他们完全看不到交互反馈,而用指尖操作时,却能看到部分的交互反馈。那么,用户在使用设备时,切换指尖与手指垫,无 疑降低了他们的操作效率。

fingers1

不仅如此,小的触摸目标会导致操作错误。当几个小触摸目标彼此靠得比较近时,用户会不小心触到邻近的目标而引发意外操作。而拇指触屏时导致的错误会更明显,因为它的尺寸是最大的。所以有时用户会倾斜拇指,让其侧身去触及屏幕目标,这是一个很不必要的操作。

finger-thumb2

用拇指交互, 在移动设备中其实很常用,因为大多数用户在使用时并非两手都处于闲暇状态,很多用户会觉得用一只手再加一个大拇指,这样操作是最方便的。用户不希望为了去 击中一个目标,而使原先使用一个手的情况变成使用两只手,又或是原先喜欢用大拇指的情况变成去使用其他手指,可见,目标太小,给用户的操作带去的麻烦会有 多大。

 

平均食指像素宽度

麻省理工学院的触摸实验室研究人类的指尖触觉,发现大多数成年人的食指平均宽度为1.6至2厘米(16–20毫米),转换为45–57像素,这是比之前移动设备给到的建议尺寸要更大。

finger-57

触摸目标45–57像素,允许用户的手指紧贴目标且又能让用户看到目标的边缘,这为他们提供了清晰的交互反馈,帮助用户判断击中目标的准确性,也提 升用户击中目标的效率。这与费茨定律一致, 就是击中目标的时间与目标的大小成反比,即目标越小,击中时间就越长,因为它会耗费用户额外的注意力。一个手指大小的目标,为用户提供了足够的空间去击中 它,而不必担心精准度。

 

平均拇指像素宽度

很多用户会用食指去激活目标,但也有很多用户喜欢用大拇指。用拇指大的区别是,它比食指宽。一个成人大拇指平均宽度为1英寸(2.5厘米),折算下来是72像素。

thumb-72

因此用户在用拇指击中一个72px宽的目标时是很愉悦的,既能快速精准定位,又能获得交互反馈,更不需要为了击中目标去倾斜拇指,这样的话,一只手,一个拇指足以完成操作。

一项针对“大拇指与触屏设备交互”的研究中显示,用户操作的出错率会随着目标尺寸的变大而降低。用户无须为击中目标去切换手指的角色。

 

单纯讲手指的尺寸是比较理想化的,在实际运用中有时并不可行

如果我们完全按照上述的手指尺寸去设计的话,在很多场景的运用是不可行的。如在移动设备中,你的工作区间其实是很小很有限的。这就意味着,当你有几 个手指大小的目标挤入移动设备屏幕中时,屏幕大小是不足以支撑这些目标的。然而,当你适当缩减尺寸,结合进屏幕时,才会显得更合理些。 你需要测量你的屏幕的物理尺寸和触摸目标大小探索到底多大的目标用户才可以触摸。

使用手指大小的可触目标在平板电脑上的应用比移动设备要容易得多,因为平板有更大的屏幕空间。你可以自由地使用这些尺寸,而不必恐惧这些尺寸是否占 据了太多空间。然而,移动设备屏幕的局限性,手指大小能触及的目标目标是最需要去考虑的。设计师面临的挑战就是如何定义出最常用的适用于移动设备的可触面 积大小。或许,较少的可触目标是一个合理的解决方案,但这个方案的前提一定是需要设计师精简导航内容。

转载于:https://my.oschina.net/SmileWolf/blog/180600

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过以下步骤来实现你的需求: 1. 首先,你需要在Unity中创建一个空对象,并将你想要移动的图片作为此对象的子对象。 2. 接着,你需要在代码中监听用户的输入。你可以使用Input类来监听用户的输入,例如: ```csharp if (Input.touchCount == 1) { // 处理单指触摸事件 Touch touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Moved) { // 处理手指移动时的逻辑 } else if (touch.phase == TouchPhase.Ended) { // 处理手指离开屏幕时的逻辑 } } ``` 3. 在单指触摸事件中,你可以获取手指的位置并将图片移动到该位置。例如: ```csharp if (touch.phase == TouchPhase.Moved) { // 获取手指的位置 Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position); // 将图片移动手指的位置 transform.position = new Vector3(touchPosition.x, touchPosition.y, transform.position.z); } ``` 4. 在单指触摸事件中,你还需要记录默认位置,以便在单击事件中将图片移回到默认位置。例如: ```csharp // 记录默认位置 Vector3 defaultPosition = transform.position; ``` 5. 在单击事件中,你可以将图片移回到默认位置。例如: ```csharp if (touch.phase == TouchPhase.Ended) { // 如果手指离开屏幕时,手指位置与开始触摸时位置相同,则认为触发了单击事件 if (touch.position == touchStartPosition) { // 将图片移回到默认位置 transform.position = defaultPosition; } } ``` 注意,这只是一个简单的实现,你需要根据你的具体需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值