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一个是没有,但你可以更好地看到确认,因为下一个活动的动画已经完成。我的意思是,即使它对动画没有任何影响,正如我所检查的。