我正在android studio中创建视频播放器。我想在5秒后隐藏按钮,布局和媒体控制器,并且我将手势用于不同的属性,但是问题是,当我在特定时间内应用2到3个手势时,按钮和媒体控制器在5秒钟后开始闪烁。我使用此代码在屏幕上进行样式设置
centerlayout.setOnTouchListener(new LinearLayout.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent m) {
if (gestureDetectorc.onTouchEvent(m)) {
if(m.getAction()==MotionEvent.ACTION_UP){
handler.postDelayed(new Runnable() {
@Override
public void run() {
hide();
}
},5000);
}
}
return true;
}
});
最佳答案
在全局中声明可运行
Runnable mRunnable = new Runnable() {
@Override
public void run() {
hide();
}
};
致电
removeCallbacks
之前先致电postDelay
centerlayout.setOnTouchListener(new LinearLayout.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent m) {
if (gestureDetectorc.onTouchEvent(m)) {
if(m.getAction()==MotionEvent.ACTION_UP){
handler.removeCallbacks(mRunnable);//add this
handler.postDelayed(mRunnable, 5000);
}
}
return true;
}
});