Android 在安卓系统中,如何保护用户免受危险按钮的伤害?

Android 在安卓系统中,如何保护用户免受危险按钮的伤害?,android,button,Android,Button,我有一个应用程序,它涉及随着时间的推移跟踪信息。应用程序的一部分是重置按钮。为了避免意外重置,我让那个按钮只对长时间的点击做出响应。然而,这种方法让我的20%的新用户感到困惑,他们认为重置按钮一定不能工作 是否有更直观(标准)的方法保护按钮免受意外按下?(如果没有,我可以在按钮上添加一些自定义消息…Thilo说,确认对话框是标准答案 如果您还没有: 基本上,让它变小!长时间点击是一个很好的答案,但除非在其下方有一个“按住”标签,否则用户将遇到麻烦——这违反了用户模型,因为用户不习惯这样做(我可

我有一个应用程序,它涉及随着时间的推移跟踪信息。应用程序的一部分是重置按钮。为了避免意外重置,我让那个按钮只对长时间的点击做出响应。然而,这种方法让我的20%的新用户感到困惑,他们认为重置按钮一定不能工作


是否有更直观(标准)的方法保护按钮免受意外按下?(如果没有,我可以在按钮上添加一些自定义消息…

Thilo说,确认对话框是标准答案

如果您还没有:

基本上,让它变小!长时间点击是一个很好的答案,但除非在其下方有一个“按住”标签,否则用户将遇到麻烦——这违反了用户模型,因为用户不习惯这样做(我可能无法理解)


在iPhone上,有“滑动”按钮(如解锁按钮)进行类似操作是相当标准的,因为意外滑动要困难得多。您可以实现类似的功能,但对于这个问题来说可能有些过火。

再次投票支持Thilo并创建一个确认对话框。
此外,谷歌/安卓正试图让开发者使用长按作为一种快速行动的用户界面模式。请参见

尽管这是一种解决方法,但仍然有效

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所说,确认对话框是标准答案


它不必是一个确认对话框,但如果意外按下,用户应该有机会取消操作,同时,如果用户希望这样做,则不需要进一步的操作

这可能行得通。但这并不令人愉快。(当然,这比认为按钮不起作用更令人愉快。)