Java 如何在android studio中隐藏特定时间后的内容
我正在android studio中创建一个视频播放器。我想在5秒钟后隐藏按钮、布局和媒体控制器,我正在为不同的属性使用手势,但问题是,当我在特定时间内应用2到3个手势时,5秒钟后按钮和媒体控制器开始闪烁。我使用此代码在屏幕上设置样式Java 如何在android studio中隐藏特定时间后的内容,java,android,android-studio,Java,Android,Android Studio,我正在android studio中创建一个视频播放器。我想在5秒钟后隐藏按钮、布局和媒体控制器,我正在为不同的属性使用手势,但问题是,当我在特定时间内应用2到3个手势时,5秒钟后按钮和媒体控制器开始闪烁。我使用此代码在屏幕上设置样式 centerlayout.setOnTouchListener(new LinearLayout.OnTouchListener(){ @Override public boolean onTouch(View v,
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
Runnable mRunnable = new Runnable() {
@Override
public void run() {
hide();
}
};
在调用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;
}
});
您能否在我使用的mediacontroller的隐藏函数中提供
hide
method的代码片段。hide(),backbtn。hide(),forwardbtn。隐藏()和toplayout。hide()这里的代码是正确的。你的意思是mediacontroller.hide()
是mediacontroller.setVisibility(View.GONE)
?是的,我使用它,但问题是延迟后处理程序,因为当我使用2到3次处理程序时,它们每5秒隐藏一次,比如我第一次使用手势,然后,我在4秒钟内再次使用手势,然后在1秒钟后它将隐藏,因此当我多次使用手势时它开始闪烁良好,然后保存runnable并在删除回调后执行post延迟。谢谢你解决了我的问题,也给了我你的时间。