Android 确认活动持续时间太短

Android 确认活动持续时间太短,android,android-intent,android-activity,wear-os,Android,Android Intent,Android Activity,Wear Os,我有一个有扣子的穿衣活动。单击后,将运行以下方法: public void success(View view) { Intent intent = new Intent(this, ConfirmationActivity.class); intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, ConfirmationActivity.SUCCESS_ANIMAT

我有一个有扣子的穿衣活动。单击后,将运行以下方法:

   public void success(View view) {
        Intent intent = new Intent(this, ConfirmationActivity.class);
        intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE,
                ConfirmationActivity.SUCCESS_ANIMATION);
        intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, "Success!");
        startActivity(intent);
        finish();
    }

确认动画只显示几秒钟。当我包含finish()行以关闭当前活动时,它的持续时间甚至更短。。。关于如何显示更多时间的确认,有什么想法吗?或者以任何其他方式完成当前活动,从而使确认持续更长时间


谢谢

确认动画由操作系统处理,因此我认为您不能更改持续时间

ConfirmationActivity
类中,有私有成员变量
private static final long SUCCESS\u MESSAGE\u DELAY\u MS=50L但是此变量是私有的final,因此您不能更改。此外,此变量用于延迟确认的出现,因此它对持续时间没有用处。此外,
私有静态长getAnimationDuration(android.graphics.drawable.AnimationDrawable animation)
是私有的,因此您甚至不需要知道动画的确切长度


在对活动调用finish()时,您只需告诉操作系统当前活动即将完成。这无助于延长持续时间。您当前的活动最终将在确认动画完成后显示。

我与您所做的事情一样困难。无法更改动画的长度,但可以将动画禁用到“活动”,从而使其有更多的时间。现在看起来真不错

intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

你在ConfirmationActivity中做什么?它是由Android提供的:确认不应该持续很长时间(正如Android开发人员在《良好实践》中解释的那样,他们找不到确切的报价)。是的,您可以向用户显示确认信息,但它必须简短,并且只提供信息。我知道,如果用户在使用其他应用程序之前必须等待10秒动画才能结束,请想想用户的沮丧情绪。但是如果它像我的确认一样快,用户甚至看不到它显示了什么…为什么知道问题的原因很重要?有时这些指导原则根本不适用于真正的用例。遗憾的是,我无法让它持续更长时间。但是谢谢你的回答!它对显示器没有影响time@O一个是没有,但你可以更好地看到确认,因为下一个活动的动画已经完成。我的意思是,即使它对动画没有任何影响,正如我所检查的。