亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

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

問題描述

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

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; } });

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

問題解答

回答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:

發一個延遲的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
相關文章:
主站蜘蛛池模板: 又大又粗进出白浆直流动态图 | 鲁大师在线观看免费播放 | 中文字幕有码视频 | 日本美女视频韩国视频网站免费 | 2020国产成人精品免费视频 | 丁香六月婷婷精品免费观看 | 特级毛片全部免费播放a一级 | 欧美一级特黄aa大片 | 免费看欧美毛片大片免费看 | 亚洲免费一级视频 | 日本亚洲国产精品久久 | 久久视频6免费观看视频精品 | 久久香蕉精品成人 | 国产91久久精品 | 国产女同一区二区三区五区 | 九九精品热线免费观看6 | 国产露脸真实作爱视频 | 三级全黄在线观看www桃花 | 日韩aⅴ在线观看 | 久久国产免费福利永久 | 一区二区网站在线观看 | 福利国产精品 | 黄色一级性生活视频 | 日韩欧美精品 | 国产在线99 | 色婷婷中文字幕在线一区天堂 | 亚洲精品日本一区二区在线 | 免费国外性视频网站 | 国产亚洲精品久久久极品美女 | 美女视频黄a视频全免费网站一区 | 九九视频免费观看 | 国产福利91精品一区二区 | 日韩中字在线 | 国产日韩一区二区三区在线观看 | 亚洲成年人网址 | 免费的黄网站 | 国产97公开成人免费视频 | 精品免费久久久久久久 | 久久精品99无色码中文字幕 | 三级视频网站在线观看播放 | 欧美护士激情第一欧美精品 |