根据指南:
https://developer.android.com/design/wear/patterns.html#Continuing
“在必须使用手机的情况下,一旦点击操作按钮并在手机上打开相应的 Android 应用程序,就应该播放通用动画。”
动画可以在 Google Keep 应用中看到。这是一个示例录音:
https://dl.dropboxusercontent.com/u/25670071/IMG_0274.MOV
某处是否有此动画的标准实现?
最佳答案
实现此功能所需的步骤取决于通知是从手机提交还是从可穿戴设备提交。
电话通知:
如果您的通知来自手机 - 当您的通知有 setContentIntent(PendingIntent intent) 时,会自动添加“在手机上打开”操作页面放。
从您的可穿戴应用程序:
如果您需要在直接从可穿戴设备(或从您的可穿戴应用程序的任何其他地方)提交的通知中播放此动画,则需要自己启动此动画。
有一个不错的ConfirmationActivity
支持几种预定义的动画类型:
ConfirmationActivity.SUCCESS_ANIMATION
ConfirmationActivity.OPEN_ON_PHONE_ANIMATION
ConfirmationActivity.FAILURE_ANIMATION
你应该感兴趣的动画是
ConfirmationActivity.OPEN_ON_PHONE_ANIMATION
.您需要在 ConfirmationActivity.EXTRA_ANIMATION_TYPE
中传递动画类型额外的。Intent intent = new Intent(context, ConfirmationActivity.class);
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, ConfirmationActivity.OPEN_ON_PHONE_ANIMATION);
startActivity(intent);
重要提示:
推出
ConfirmationActivity
您需要将其添加到您的 list 文件中:<activity android:name="android.support.wearable.activity.ConfirmationActivity" />
主题:
下一步是调整此
ConfirmationActivity
的样式.例如如果你想 禁用默认滑动动画 或制作 window 透明您需要在 list 中为其设置自定义主题:<activity android:name="android.support.wearable.activity.ConfirmationActivity"
android:theme="@style/TransparentTheme"/>
并定义
TransparentTheme
在 themes.xml
:<style name="TransparentTheme" parent="@android:style/Theme.DeviceDefault">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
</style>
关于wear-os - 如何在 Android Wear 上实现 "Open on phone"动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25482930/