国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

java - 做一個視頻播放器,想實現(xiàn)一個功能,如果3秒不點擊屏幕任何,則下方一個界面布局(顯示按鈕那些的)自動消失。

瀏覽:134日期:2024-02-10 09:59:03

問題描述

就是這個功能不知道怎么實現(xiàn),就像很多視頻播放器那種,如果點擊屏幕任何,下方界面布局(顯示按鈕那些的)就顯示出來,然后等幾秒鐘沒有點擊,就消失。先貼個代碼:

sv.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (linearLayout.getVisibility()==View.INVISIBLE) linearLayout.setVisibility(View.VISIBLE); Timer timer=new Timer(); timer.schedule(new TimerTask() { @Override public void run() { linearLayout.setVisibility(View.VISIBLE); } },3000); return false; } });

這種方法不行的,會拋出異常,但是我感覺這個思路沒有錯,肯定是設(shè)置一個surfaceview的觸摸事件監(jiān)聽器,但是真的不知道如何實現(xiàn)。以上拋出只有原本的線程能操作ui線程,也就是說主要問題是timer這個線程無法操作setvisibility,但是如果不加入其它線程,又如何實現(xiàn)這個功能,不可能在監(jiān)聽器里面用一個延遲函數(shù),如果在這3秒內(nèi)又又一次觸摸時間,那肯定是要刷新這個時間的啊。。的確沒想到解決方法。。。

問題解答

回答1:

不需要Timer

Handler mHandler = new Handler();Runnable mRunnable;mRunnable = new Runnable() { @Override public void run() { //隱藏view }};myView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) {if(event.getAction() == MotionEvent.ACTION_DOWN){ mHandler.removeCallbacks(mRunnable); //顯示你的view}else if(event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL){ mHandler.postDelayed(mRunnable,3000);}return false; }});回答2:

你在子線程操作UI線程了,這是禁止的,加個handlder

Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) {super.handleMessage(msg);linearLayout.setVisibility(View.VISIBLE); }}; timer.schedule(new TimerTask() {@Overridepublic void run() { //linearLayout.setVisibility(View.VISIBLE); mHandler.sendEmptyMessage(0);}},3000);回答3:

runOnUiThread

回答4:

發(fā)一個延遲的handler去隱藏布局就可以了。在子線程操作UI會有意想不到的問題。

回答5:

試試使用Handler.postDelay()這個方法。

Time lastTime;觸摸屏幕if(View.VISIBLE){ setVisibility(View.INVISIBLE);} else{ setVisibility(View.VISIBLE); lastTime= new Time(); Handler.postDelay(3000);}Handler.handleMessage{ if(View.VISIBLE){ if(new Time()-lastTime>3S){ setVisibility(View.INVISIBLE); } }}回答6:

直接用

new Handler().postDelayed(new Runnable(){ @Override public void run(){method() }}, 3000);

標簽: java
相關(guān)文章:
主站蜘蛛池模板: 亚洲国产精品日韩在线 | 成人网18免费软件大全 | 国产成人毛片视频不卡在线 | 日韩一区二区久久久久久 | 在线免费观看成年人视频 | 国产精品成久久久久三级 | 色综合色狠狠天天久久婷婷基地 | 免费公开视频人人人人人人人 | 午夜毛片视频高清不卡免费 | 18视频网站在线观看 | 欧美午夜免费一级毛片 | a级毛片毛片免费很很综合 a级毛片免费 | 黄色三级网 | 欧美日韩亚洲视频 | 久久99精品国产免费观看 | 久久精品视频日本 | 日本三级毛片 | 精品久久久久久久久久久久久久久 | 免费人欧美成又黄又爽的视频 | 中国做爰国产精品视频 | 欧美一级日韩一级 | 日韩美女大全视频在线 | 特级生活片| 乱人伦中文字幕视频 | 亚洲欧洲日产国码一级毛片 | 91国内精品久久久久免费影院 | 欧美一级视屏 | 欧美手机视频 | 国产专区中文字幕 | 免费看a毛片 | 国产精品爱久久久久久久 | 欧美久久亚洲精品 | 久久久毛片免费全部播放 | 美女张开腿让男人桶爽免费网站 | 日韩欧美国产视频 | 久草在现视频 | 香蕉tv亚洲专区在线观看 | 久章草在线 | 超清首页 国产 亚洲 丝袜 | 成人毛片在线播放 | 亚洲午夜久久久久国产 |