按照标准的 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/