年龄对触摸手势绩效和用户感知的影响

2019-04-20 02:23陈俊彦
科技视界 2019年4期
关键词:儿童组受测者手势

陈俊彦

【摘 要】研究不同年齡段用户对各种触摸操作手势的掌握能力,测试不同手势在安卓设备上对小孩,中年人和老人的可用性。

【关键词】触摸屏操作手势;数据分析

中图分类号: TP391.41文献标识码: A文章编号: 2095-2457(2019)04-0127-002

DOI:10.19694/j.cnki.issn2095-2457.2019.04.051

0 引言

触摸屏界面有显而易见的优点,能够更快的与设备通过多点触控产生互动。[1]虽然多点触控手势在2009年之后就步入了发展高峰,但是关于智能设备上多点触控手势用户体验研究比较滞后。本文将对经常使用的8种基础手势进行实际测量研究,探讨不同年龄段的人群对操作手势的适应程度。

1 多点触控研究应用程序程序开发

多点触控(Multitouch),又称多重触控,多触控。是采用人机交互和硬件设备共同使用的技术。在没有传统输入设备的情况下,移动设备能够接收到多根手指进行手势识别、操控。常用的手势可以分为四大类8种,测试成功率和完成时间,每个受测者有两次机会,如若第一次完成,则不必第二次,反之,则需要进行第二次测试。

设计一个程序进行手势测量,目的是为了获取不同性别和年龄段对手势操作的适应度。

程序分成4部分,分别测试Tab类动作、Drag类动作、Scale类动作、Rotate类动作。

四类操作的源程序代码如下:

1.1 点击类动作

public boolean onTouchEvent(MotionEvent event) {

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

if (firstTime == 0) {

firstTime = System.currentTimeMillis();

}

break;

case MotionEvent.ACTION_UP:

break;

}

return super.onTouchEvent(event);

}

根据Android系统检测到的MotionEvent.ACTION_DOWN手势按下屏幕动作,记录按下时间。MotionEvent.ACTION_UP手势抬起屏幕动作,截止记录时间。

1.2 拖拽类动作

public boolean onTouchEvent(MotionEvent event) {

if (getFinalTime)

return false;

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

if (startTime == 0) {

startTime = System.currentTimeMillis();

}

break;

case MotionEvent.ACTION_MOVE:

moveView(ivCat,event.getX(),event.getY() - Utils.getStatusBarHeight(this));

break;

case MotionEvent.ACTION_UP:

long l = System.currentTimeMillis();

if (Math.abs(ivCat.getX() - ivCatEmpty.getX()) < 10

&& Math.abs(ivCat.getY() - ivCatEmpty.getY()) < 10) {

mVibrator.vibrate(200);

tv1.setText("移动手势成功:" + (l - startTime) + "毫秒");

} else {

tv1.setText("移动手势失败:" + (l - startTime) + "毫秒");

}

tv1.setVisibility(View.VISIBLE);

ToastUtils.showToast("耗时:" + (l - startTime) + "毫秒");

getFinalTime = true;

break;

}

return super.onTouchEvent(event);

}

位移计算函数:

/* 设置View的布局属性,使得view随着手指移动 */

private void moveView(View view, float x, float y) {

RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) view.getLayoutParams();

params.leftMargin = (int) x - ivCat.getWidth() / 2;

params.topMargin = (int) y - ivCat.getHeight() / 2;

view.setLayoutParams(params);

}

1.2.1 双指旋转

双指动作中,多了兩个MotionEvent。

case MotionEvent.ACTION_POINTER_DOWN:

case MotionEvent.ACTION_POINTER_UP:

MotionEvent.ACTION_POINTER_DOWN在多指按下屏幕时候产生,使用全局变量记录手指数量;

MotionEvent.ACTION_POINTER_UP   在多指离开屏幕时候产生,使用全局变量记录手指数量。

1.2.2 缩放类动作

双指缩放,需要处理MotionEvent.ACTION_POINTER_DOWN、MotionEvent.ACTION_POINTER_

UP两个事件。当双指接触屏幕之后,MotionEvent中返回的x,y坐标。getX(0),getY(0)返回第一指的屏幕坐标。getX(1),getY(1)返回第二指的屏幕坐标。通过spacing函数计算出两指的动态距离。然后与初始距离比较,所得的比值即为view需要缩放的倍数。

private float spacing(MotionEvent event) {

float x = event.getX(0) - event.getX(1);

float y = event.getY(0) - event.getY(1);

return (float) Math.sqrt(x * x + y * y);

}

2 实验检测结果

实验共征集了30名受测者,包括10名老年人,10名成年人及10名儿童。在测试之前,我们对受测者进行了调查,他们全部无认知障碍,拥有正常的肢体运动能力,通过得到到具体的测试数据分析得到如下结论:

(1)单击任务和长按任务在各个年龄段都表现优异。在所有任务中,成年组都较为稳定,在双击和拖拽任务中老年组表现较差,儿童组在双指旋转任务和缩小任务中表现较差。

(2)男性有着较好的任务完成成功率,随着任务变得困难,男女完成任务的成功率都逐渐降低,与女性相比,男性显然有着比较好的适应能力,女性在双指旋转的任务中成功率出现了显著地降低。

(3)儿童组在整体上学习速度较快,随着年龄的增长,速度逐渐变慢。对于完成度来说,最好的是成年组,老人组和儿童组相对较弱。

综上,对老年人手势选择应尽量简单、易完成且应用较多。成年人对手势不敏感,儿童不要选择过于精细的手势。

【参考文献】

[1]Hwayeong Kang, Gwanseob Shin. Effects of touch target location on performance and physical demands of computer touchscreen use[J]. Applied Ergonomics, 2017, 61.

[2]吕明,吕延.触摸屏的技术现状、发展趋势及市场前景[J].机床电器.2012(03).

[3]陶达,袁娟,刘双,曲行达,陈星宇.触摸屏按键特征因素对键盘输入操作可用性的影响[J].《人类工效学》,2016,22(5):1-6.

猜你喜欢
儿童组受测者手势
感染相关性泛发性脓疱型银屑病临床分析
怒气冲冲 或因睡不好
新媒体科研环境下自发式科研协同行为机制研究
投射技术在人才选拔中的应用解析
V字手势的由来
福建儿童组男子篮球运动员体能等相关性研究
聚乙二醇干扰素治疗儿童与成人慢性肝炎的不良反应对比研究
有关“屋、树、人”的心理测试