android - 如何取消DelayedConfirmationView?

标签 android wear-os

按照标准的 Android Wear UI,当用户在计时器完成之前再次点击它时,我试图取消 DelayedConfirmationView 上的确认动画。但是,只提供了一个 start() 方法,如 API 引用(可下载 here )中所反射(reflect)的那样。

我已经尝试通过在取消时将 setTotalTimeMs() 设置为 0 来解决此问题,这会立即完成动画 - 但现在会永久显示完整的圆形边框!没有 setCircleBorderWidth() 方法可以将边框减小为 0,即使有相应的 app:circle_border_width xml 声明也是如此。 CircleImageView 父类(super class)中的 setProgress() 方法似乎也没有做任何事情。

有没有人找到直接取消确认动画的方法,或者至少找到将按钮设置为原始状态(无边框)的解决方法?

最佳答案

为了完整起见(虽然是部分的,因为按钮周围的圆圈仍然存在,直到你重新膨胀 View ),我发布了我必须用来停止计数器的代码而不触发 Action .

@Override
public void onTimerSelected(View view) {
    if(mRunning) {
        mRunning = false;
        delayedConfirmationView.setTotalTimeMs(0);
    } else {
        view.setPressed(true);
        mRunning = true;
        delayedConfirmationView.start();
    }
}

@Override
public void onTimerFinished(View view) {
    view.setPressed(false);
    if (mRunning) {
        mRunning = false;
        performAction();
    } else {
        delayedConfirmationView.setTotalTimeMs(CONFIRMATION_TIME);
    }
}

关于android - 如何取消DelayedConfirmationView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25298608/

相关文章:

android - Phonegap (Cordova) - 后退按钮触发暂停事件而不是 Android 中的后退按钮事件

android - 将Android Wear的加速度计数据同步到手机或计算机

android - 无法将 Google Fit OAuth 2.0 链接到 WearOS App

Android Wear Preview 堆叠式通知

java - 为什么会出现此错误 :java.net.PlainSocketImpl.checkNotClosed(PlainSocketImpl.java :116)?

android - Dagger 2 单例 vs 真实单例

android - 当 NestedScrollView 为空时停止 AppBarLayout 滚动屏幕

wear-os - watch 中的低位环境模式是什么?

android - 是否可以将 Android NDK 用于 Android Wear 应用程序?

android - 模糊 ListView 项后面的背景