wear-os - 如何在 Android Wear 上实现 "Open on phone"动画

标签 wear-os

根据指南:
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"/>
    

    并定义 TransparentThemethemes.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/

    相关文章:

    android - 无法在 Eclipse 中执行初始 Android Wear Hello World App

    Mac (Maverick) 无法识别 Android Wear 设备 (Samsung Gear Live)

    android - Android Wear API 的 GoogleApiClient 失败需要更新,但我已经更新了

    android - 将 Android 可穿戴模拟器与连接到 adb 的手持设备无线连接

    安卓 : How does one uninstall a wear watch face from the emulator?

    android - 从三星 Galaxy Watch4 上的传感器检索心率数据

    android - 以编程方式自定义 Android Wear watch 超时

    Android Wear : Google Play services out of date. 需要 9256000 但找到 8701534

    android - 没有环境模式就一直打开?或者进入环境时不变暗?

    java - 访问 Android Wear Fit 数据