PopupWindow 出现时 CountDownTimer 停止
CountDownTimer stops when PopupWindow appears
在 Android activity 中,我使用 CountDownTimer
如下:
timer = new CountDownTimer(time, 1000) {
public void onTick(long millisUntilFinished) {
timeView.setText(String.format(Locale.getDefault(), "%ds", millisUntilFinished / 1000));
if (millisUntilFinished <= 10000) {
// Blinking text
ViewUtil.setBlinking(timeView,Animation.INFINITE);
} else {
timeView.clearAnimation();
}
}
public void onFinish() {
timeView.clearAnimation();
timeView.setText("0s");
}.start();
这个计时器只是以秒为单位倒计时。在同一个 activity 中,我还使用 PopupWindow
class 显示弹出窗口 window,如下所示:
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
ConstraintLayout mRelativeLayout = (ConstraintLayout) findViewById(R.id.task_layout);
View customView = inflater.inflate(R.layout.popup_window,mRelativeLayout,false);
mPopupWindow = new PopupWindow(
customView,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
mPopupWindow.setElevation(5.0f);
mPopupWindow.showAtLocation(mRelativeLayout, Gravity.CENTER,0,0);
问题是,一旦弹出 window 出现,CountDownTimer
就会以某种方式停止。我想要的是 CountDownTimer
也会在出现弹出窗口 window 并且背景视图仍然更新时运行。
如何做到这一点?
你是 运行 CountDownTimer
在 UI 线程中,当你弹出 window 线程去 window,但是我搜索了 PopupWindow
文档,但它的文档很薄弱,找不到太多
在后台使用CountDownTimer
解决它。使用 Asynctask
、Service
或 Runnable
在 Android activity 中,我使用 CountDownTimer
如下:
timer = new CountDownTimer(time, 1000) {
public void onTick(long millisUntilFinished) {
timeView.setText(String.format(Locale.getDefault(), "%ds", millisUntilFinished / 1000));
if (millisUntilFinished <= 10000) {
// Blinking text
ViewUtil.setBlinking(timeView,Animation.INFINITE);
} else {
timeView.clearAnimation();
}
}
public void onFinish() {
timeView.clearAnimation();
timeView.setText("0s");
}.start();
这个计时器只是以秒为单位倒计时。在同一个 activity 中,我还使用 PopupWindow
class 显示弹出窗口 window,如下所示:
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
ConstraintLayout mRelativeLayout = (ConstraintLayout) findViewById(R.id.task_layout);
View customView = inflater.inflate(R.layout.popup_window,mRelativeLayout,false);
mPopupWindow = new PopupWindow(
customView,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
mPopupWindow.setElevation(5.0f);
mPopupWindow.showAtLocation(mRelativeLayout, Gravity.CENTER,0,0);
问题是,一旦弹出 window 出现,CountDownTimer
就会以某种方式停止。我想要的是 CountDownTimer
也会在出现弹出窗口 window 并且背景视图仍然更新时运行。
如何做到这一点?
你是 运行 CountDownTimer
在 UI 线程中,当你弹出 window 线程去 window,但是我搜索了 PopupWindow
文档,但它的文档很薄弱,找不到太多
在后台使用CountDownTimer
解决它。使用 Asynctask
、Service
或 Runnable