使用Timer,TimerTask完成播放视频点击显示控制台

在进行视频播放的时候,我们需要点击视频窗口,控制台自动显示,过几秒钟不操作后,控制台自动消失,这就用到了Timer,TimerTask了。

首先我们先创建一个类继承TimerTask里面实现我们的业务逻辑。

public class DismissControlViewTimerTask extends TimerTask {

    @Override
    public void run() {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
		//实现自己的业务逻辑
		controlView.setVisibility(View.GONE);
showControl = true;//控制台显示状态 } }); }}
我这里实现了控制台隐藏。

我们需要对窗口设置监听,点击时开始计时任务


   @Override
    public void onClickListener(View view) {
	if (showClose) {
		controlView.setVisibility(View.VISIBLE);
showControl = false;
} else {
		controlView.setVisibility(View.GONE);
showControl = true;
} startDismissControlViewTimer();
}

 

public void startDismissControlViewTimer() {

    DISMISS_CONTROL_VIEW_TIMER = new Timer();
    mDismissControlViewTimerTask = new DismissControlViewTimerTask();
    DISMISS_CONTROL_VIEW_TIMER.schedule(mDismissControlViewTimerTask, 2500);//2.5秒后启动任务
}
这样在多次点击时会出现问题,我们需要每次点击的时候都从新计时。

public void startDismissControlViewTimer() {
    cancelDismissControlViewTimer();//取消任务
    DISMISS_CONTROL_VIEW_TIMER = new Timer();
    mDismissControlViewTimerTask = new DismissControlViewTimerTask();
    DISMISS_CONTROL_VIEW_TIMER.schedule(mDismissControlViewTimerTask, 2500);
}

public void cancelDismissControlViewTimer() {
    if (DISMISS_CONTROL_VIEW_TIMER != null) {
        DISMISS_CONTROL_VIEW_TIMER.cancel();
    }
    if (mDismissControlViewTimerTask != null) {
        mDismissControlViewTimerTask.cancel();
    }
}
这样就实现了视频播放时候,控制条的显示和隐藏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值