我有一个应用程序,涉及随着时间的推移跟踪信息。该应用程序的一部分是重置按钮。为了避免意外重置,我使该按钮仅响应长按。但是,这种方法混淆了大约20%的新用户,他们认为重置按钮不能正常工作。
是否有更直观(和标准)的方法来保护按钮免受意外按下? (如果没有,我可以在我的按钮上添加某种自定义消息......)
答案 0 :(得分:2)
Thilo说,确认对话框是标准答案。
如果你还没有这个,这是很好的阅读:
http://www.codinghorror.com/blog/2010/03/the-opposite-of-fitts-law.html
基本上,把它变小!长时间点击是一个很好的答案,但除非在其下方有“按住”标签,否则用户将遇到麻烦 - 这违反了用户模式,因为用户不习惯这样做(我可能不会'能够弄清楚。)
在iPhone上,为这样的操作设置“滑动”按钮(如解锁)是相当标准的,因为不小心滑动会更加困难。你可以实现类似的东西,但这个问题可能有点过头了。
答案 1 :(得分:1)
对Thilo的另一次投票和确认对话。 Google / Android也试图让开发人员使用长按作为Quick Action UI模式。见Android Developers Blog entry on Twitter app
答案 2 :(得分:0)
尽管这是一种解决方法,它仍然有效。
case R.id.bReset:
long startTime = System.nanoTime();
boolean running = true;
//show dialog with a single button - cancel. Outside the loop. Upon cancel, set cancelled to true.
//You can use DialogFragment or AlertDialog
while(running && !canceled){
long elapsed = (System.nanoTime() - startTime) / 1000000;
if(elapsed > securityTime && !canceled) {//set security time to amount of seconds * 1000
//Dismiss dialog
//reset
}
}
break;
从目前接受的答案:
正如Thilo所说,确认对话框是标准答案。
它不一定是确认对话框,但如果意外按下,用户应该有机会取消操作,同时如果用户想要这样做则不需要进一步操作。