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

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

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

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

問(wèn)題描述

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

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

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

問(wèn)題解答

回答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線程了,這是禁止的,加個(gè)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ā)一個(gè)延遲的handler去隱藏布局就可以了。在子線程操作UI會(huì)有意想不到的問(wèn)題。

回答5:

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

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

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 亚洲国产日韩综合久久精品 | 最近手机高清中文字幕大全7 | 国产成人高清亚洲一区91 | 美女张开腿让男人桶爽动漫视频 | 全免费a级毛片免费毛视频 全午夜免费一级毛片 | a级成人毛片久久 | 日韩一页 | 一区二区视频在线 | 青青爽国产手机在线观看免费 | 久久成人18免费 | 一级亚洲 | 国产玖玖视频 | 免费一级毛片在线播放不收费 | 成年男人的天堂 | 久久久综合视频 | 日韩a毛片免费全部播放完整 | 国产成人啪精品午夜在线观看 | 性欧美videofree另类17 | 午夜影院福利社 | 成人三级做爰在线观看男女 | 亚洲成人第一页 | 国产在线观看免费视频软件 | 性久久久久久 | 欧美精品高清 | 日本在线www| 国产福利一区二区三区 | 久久性久久性久久久爽 | 美女网站在线观看视频18 | 国产va精品网站精品网站精品 | 日本精品久久久久久久久免费 | 亚洲性色视频 | 欧美理论片在线观看一区二区 | 久久精品亚洲精品一区 | 国产成人毛片精品不卡在线 | 亚洲国产一区二区在线 | 中文字幕乱码中文乱码综合 | 亚洲日本韩国在线 | 国产成人一区二区三区在线视频 | 97人摸人人澡人人人超一碰 | 亚洲一区二区三区高清 | 亚洲天码中文字幕第一页 |