ConfirmationActivity Android Wear持续时间太短

时间:2014-11-12 18:58:13

标签: 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_ANIMATION);
        intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, "Success!");
        startActivity(intent);
        finish();
    }

确认动画显示但持续几秒钟。当我包括finish()行以关闭当前活动时它会持续更短...有关如何显示确认更多时间的任何想法?或者任何其他方式来完成当前活动,以确保更长时间的确认?

谢谢!

2 个答案:

答案 0 :(得分:3)

确认动画由操作系统处理,所以我认为你不能改变持续时间。

ConfirmationActivity类中,有私有成员变量private static final long SUCCESS_MESSAGE_DELAY_MS = 50L;但是这个变量是私有最终的,所以你无法改变。此外,此变量用于延迟确认的出现,因此对于持续时间没有用。另外,private static long getAnimationDuration(android.graphics.drawable.AnimationDrawable animation)是私有的,所以你甚至不应该知道动画的确切时间。

在活动上调用finish()时,您只需告诉操作系统您当前的活动即将完成。它不会帮助你延长持续时间。确认动画结束后,您的当前活动将最终显示。

答案 1 :(得分:0)

我在做同样的事情时遇到了困难。无法更改动画的长度,但您可以禁用动画以使其有更多时间。现在看起来真的很棒!

intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);