Android編程實(shí)現(xiàn)popupwindow定時(shí)消失的方法
本文實(shí)例講述了Android編程實(shí)現(xiàn)popupwindow定時(shí)消失的方法。分享給大家供大家參考,具體如下:
因?yàn)槭窃谄渌缑鎻棾龅膒opupwindow,要在橫屏切換回豎屏的時(shí)候,讓popupwindow自動(dòng)消失,因?yàn)閺棾鰌opupwindow是普通的類,沒(méi)有監(jiān)聽(tīng)橫豎屏的函數(shù),所以想到了使用定時(shí)器,定時(shí)3秒之后如果用戶沒(méi)有操作就讓popupwindow消失,代碼如下:
// 創(chuàng)建彈出窗口 popupMenu = new PopupWindow(view, sourceView.getWidth() * 2, LayoutParams.WRAP_CONTENT + 200); ColorDrawable cd = new ColorDrawable(R.color.white); popupMenu.setBackgroundDrawable(cd); popupMenu.update(); popupMenu.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); popupMenu.setTouchable(true); // 設(shè)置popupwindow可點(diǎn)擊 popupMenu.setOutsideTouchable(true); // 設(shè)置popupwindow外部可點(diǎn)擊 popupMenu.setFocusable(true); // 獲取焦點(diǎn) ColorDrawable dw = new ColorDrawable(0x00); popupMenu.setBackgroundDrawable(dw); popupMenu.setTouchInterceptor(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_OUTSIDE) { popupMenu.dismiss(); return true; } timer.start(); return false; } }); } CountDownTimer timer = new CountDownTimer(3000, 10) { @Override public void onTick(long millisUntilFinished) { } @Override public void onFinish() { popupMenu.dismiss(); } }; @Override public PopupWindow createPupupWindow() { return popupMenu; } @Override public void showPopupMenu() { if (popupMenu != null && popupMenu.isShowing()) { popupMenu.dismiss(); } else { popupMenu.showAsDropDown(sourceView, -sourceView.getWidth() / 2, 0); timer.start(); } }
關(guān)鍵點(diǎn)是使用CountDownTimer類,來(lái)進(jìn)行定時(shí),已經(jīng)全部封裝好了,不要去考慮子線程無(wú)法去改變UI界面的問(wèn)題,還是非常好用的。
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android窗口相關(guān)操作技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- 詳解Android中PopupWindow在7.0后適配的解決
- Android自定義PopupWindow實(shí)現(xiàn)炫酷的IOS對(duì)話框效果
- 詳解Android PopupWindow怎么合理控制彈出位置(showAtLocation)
- Android開(kāi)發(fā)實(shí)現(xiàn)popupWindow彈出窗口自定義布局與位置控制方法
- Android UI設(shè)計(jì)與開(kāi)發(fā)之PopupWindow仿騰訊新聞底部彈出菜單
- Android Popupwindow彈出窗口的簡(jiǎn)單使用方法
- Android實(shí)現(xiàn)底部半透明彈出框PopUpWindow效果
- Android中使用PopupWindow 仿微信點(diǎn)贊和評(píng)論彈出
- Android中的popupwindow進(jìn)入和退出的動(dòng)畫(huà)效果
- Android 使用PopupWindow實(shí)現(xiàn)彈出更多的菜單實(shí)例詳解
- Android開(kāi)發(fā)解決popupWindow重疊報(bào)錯(cuò)問(wèn)題
相關(guān)文章
RecyclerView優(yōu)雅實(shí)現(xiàn)復(fù)雜列表布局
這篇文章主要為大家詳細(xì)介紹了RecyclerView優(yōu)雅實(shí)現(xiàn)復(fù)雜列表布局,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11簡(jiǎn)單實(shí)現(xiàn)Android倒計(jì)時(shí)效果
這篇文章主要教大家如何簡(jiǎn)單的實(shí)現(xiàn)Android倒計(jì)時(shí)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10Android開(kāi)發(fā)工程中集成mob短信驗(yàn)證碼功能的方法
這篇文章主要介紹了Android開(kāi)發(fā)工程中集成mob短信驗(yàn)證碼功能的方法,感興趣的小伙伴們可以參考一下2016-05-05Android中Handler與Message的簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android中Handler與Message的簡(jiǎn)單實(shí)例的相關(guān)資料,這里提供實(shí)例來(lái)說(shuō)明線程Handler與message 的結(jié)合使用,需要的朋友可以參考下2017-08-08android使用Textview實(shí)現(xiàn)伸縮效果
這篇文章主要為大家詳細(xì)介紹了android使用Textview實(shí)現(xiàn)伸縮效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11android使用ViewPager組件實(shí)現(xiàn)app引導(dǎo)查看頁(yè)面
這篇文章主要為大家詳細(xì)介紹了android使用ViewPager組件實(shí)現(xiàn)app引導(dǎo)查看頁(yè)面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07提升Android應(yīng)用視覺(jué)吸引效果的10個(gè)UI設(shè)計(jì)技巧
在Android應(yīng)用開(kāi)發(fā)中,風(fēng)格和設(shè)計(jì)或許不是最關(guān)鍵的要素,但它們?cè)跊Q定Android應(yīng)用成功與否上確實(shí)扮演重要的角色,以下是10個(gè)Android應(yīng)用的UI設(shè)計(jì)技巧,還有個(gè)附加技巧,感興趣的朋友可以了解下哦2013-01-01