根据标准的android-wear用户界面,我正在尝试取消aDelayedConfirmationView
上的确认动画,当用户在计时器完成之前再次点击它时。但是,只有一个start()
方法提供,如api参考(可下载here)中所反映的那样。
我尝试了一种解决方法,在取消时将setTotalTimeMs()
设置为0,这将立即完成动画-但是现在将永久显示完整的圆边界!没有setCircleBorderWidth()
方法可以将边框缩小到0,即使有相应的xml声明app:circle_border_width
。CircleImageView超类中的setProgress()
方法似乎也没有任何作用。
是否有人找到了直接取消确认动画的方法,或者至少找到了将按钮设置为其原始状态(无边框)的解决方法?
最佳答案
为了完整性(尽管是部分的,因为按钮周围的圆圈仍然会粘住,直到您重新充气查看),我张贴了代码,我不得不使用它来停止计数器而不触发操作。
@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);
}
}