from:http://site.douban.com/159194/widget/notes/8359289/note/220583717/
做触屏手机产品设计,要注意所有的可点击元素都有足够的点击区域,但是这并不是说你要把所有的按钮图标链接都设计的足够大,手机上的视觉焦点和操作焦点是不一样的,操作焦点是可被放大或移动的点击区域。
这里分享几个点击区域的小秘密,帮你解决操作准确率的问题。
一、扩大操作焦点
iPhone自带的控件NavigationBar上的Button、TabBar上的Item、ToolBar上的ButtonItem,实际的点触区域都是被放大了的。
![]() |
虽然iPhone导航栏上的操作按钮仅有29px高,但是它的实际点触区域比整个导航栏的高度还要高出5px左右,大概能达到44px+5px,这样用户就不用小心翼翼的去点击返回按钮了,按钮点起来比看起来要大的多。
如果导航栏下边区域还有按钮,或者输入区域,点击下边的按钮经常会触发导航栏上的按钮,这点很多开发人员都可能遭遇过,我看到Cocochina上就有不少类似问题,比如wyx遇到的问题。
wxy: “在应用中,导航栏上两边有UIBarButtonItem的按钮,导航栏下边区域还有按钮,可是点击下边的按钮经常会触发导航栏上的按钮,在模拟器中用鼠标点击,鼠标箭头完全没有进入导航栏区域却也触发导航上按钮的响应,这个问题如何解决掉啊,我写个自定义的按钮也不行,只要涉及到self.navigationItem.left/rightBarButtonItem就会有这个问题.....”
类似的,新浪微博的撰写微博界面也是个列子,当用户想编辑第一行的文字的时候,点击文字经常会误触顶部操作栏的取消或发送。随享微博客户端也是,顶部导航栏下边有一排操作图标,还是比较容易引发误操作的。
![]() |
底部标签栏的可点击区域也比视觉焦点要多出5个像素左右,标签切换是比较常见的操作,这样一个小改动帮用户提升了标签切换的准确率。
![]() |
但是正因为iPhone标准的TabBar的点击区域是有扩张的,所以如果你在TabBar上方放置可操作区域,都比较难以点击,Foursquare和USA today等应用最后都是采用自定义TabBar的方式规避问题的。
关于和设置往往被做成半透明图标,浮动在界面上,如果操作焦点=视觉焦点,那么用户就只能杯具的削尖指头去点了,还好这两个按钮的实际操作焦点要比视觉焦点大的多,保证了足够准确的点击。
![]() |
Android4.0规定的有效可触摸的UI元素标准是48dp,一般来说,48dp转化为一个物理尺寸,约为9毫米。建议的目标大小为7~10毫米,这一点与iPhone一致,这是一个用户手指能准确并且舒适触摸的区域。
如果所示,你的UI元素可能小于48dp,图标仅有32dp,按钮仅有40dp,但是他们的实际可操作焦点都达到了48dp的大小。
二、下移操作焦点
由于用户在进行各种操作的时候,需要确保自己准确的点击到了相应的元素,所以一般情况下,右手持机的用户,落点会偏右偏下,见下图:
![]() |
我们的UER把手机屏幕分成6*12个可点击的焦点,从用户的点击落点监测可以看到,右手持机的用户有很大一部分点击落点和视觉焦点是有很大偏差的,偏差具有一定的规律性。屏幕右下方格外明显。
如果你的应用是操作密集型,可以考虑调整有效点击区域,整体往右往下偏移几像素,准确率会有所提升。
##此部分内容希望有过类似研究的同学可以共同探讨##
三、留白以规避误点击
当然,仍然有很多情况,我们是无法用放大操作焦点或偏移操作焦点的方式来解决的,那就是当两个可操作元素确实离得比较近的时候。这时候,iPhone内置的应用会巧妙的采用留白排版方式以规避误点击。
![]() |
比如iPhone系统的输入框,如果框右边有发送按钮的话,我们可以发现右侧是有个明显的留白的,由于中英文字体差异,中文的留白略大于英文。这个留白,一方面是为了规避跟发送按钮焦点太近的误操作问题,一方面是为了给滚动条留足够的空间。
![]() |
而带有全部删除按钮的输入框,文字离全部删除按钮也会有适当留白,规避切换光标时可能引发的误操作。
当遇到焦点密集的问题的时候,我们都是可以利用增加行间距、元素间距和留白的方式来解决可点击区域问题。
最后再啰嗦一句小图标元素大点击区域的实现方式,方法1:UI提供带透明点击区域的图标,就是一张透明的图,上面一个小图标;方法2:UI提供一个大点的透明的图,覆盖到图标上面,点到上面就执行操作;方法3:程序人员自己去实现,方法请问他们,嘿嘿。