成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

android dialog根據彈窗等級排序顯示的示例代碼

瀏覽:135日期:2022-09-22 08:49:09

背景:由于主界面可能彈窗很多彈窗,需求要求某個dialog必須在前面顯示,如果再消失監聽中,線性判斷,每個dialog都去判斷工作量巨大,且不易閱讀。所以做了一個彈窗排序的項目。這里只是講解單個activity中的彈窗排序,demo中還有維護多個activity 彈窗排序,詳細看最下面github

做到工具組件化,不侵入原項目代碼,無需繼承,使用方便。

原理:當有一個dialog添加顯示時,判斷等級是否大于,大于則顯示,否則則添加到等待隊列

private void show(int level, Dialog dialog, DialogInterface.OnDismissListener onDismissListener){ if(dialog == null){ return; } DialogLevelModel topDialog = getTopShowingDialog(); DialogLevelModel inModel = new DialogLevelModel(level, dialog, activity); new DismissListenerBinder(inModel,this,onDismissListener).bind(); if(topDialog ==null || level >= topDialog.level){ realShow(inModel); }else { waitList.sortAdd(new DialogLevelModel(level, dialog, activity)); }}

添加集合中要根據等級排序

public boolean sortAdd(DialogLevelModel inModel){ Log.e('DLArrayList','add---'+inModel.level); int lastSize = size(); if(lastSize == 0){ return super.add(inModel); } int index = 0; for (int i = size()-1; i >=0; i--){ DialogLevelModel temp = get(i); if(inModel.level >= temp.level){ index = i+1; break; } } super.add(index,inModel); return true;}

顯示的時候,判斷activity是否存在,整理集合

private void realShow(DialogLevelModel dialogLevelModel){ waitList.remove(dialogLevelModel); showList.add(dialogLevelModel); if(dialogLevelModel.activity != null && dialogLevelModel.activity.get() != null && !dialogLevelModel.activity.get().isFinishing()){ dialogLevelModel.dialog.show(); }else{ destory(); }}

收到dialog消失監聽,整理集合,判斷最上層dialog 和等待隊列dialog等級對比

@Overridepublic void onDismiss(DialogLevelModel dialogLevelModel) { for(int i = showList.size()-1;i>=0;i--){ if(showList.get(i).dialog == dialogLevelModel.dialog){ showList.remove(i); break; } } boolean flag =true; while (flag) { if(waitList.size() == 0){ break; } DialogLevelModel tempModel = waitList.get(waitList.size() -1); if (getTopShowingDialog() == null) { realShow(tempModel); } else if (tempModel.level >= getTopShowingDialog().level) { realShow(tempModel); } else { break; } }}

調用:

for(int i = 0;i<15;i++){ final int level2 = (int)(1+Math.random()*1000); final Dialog dialog2 = showCommonDialog('content:level-'+level2); Log.e('dialoglevl','level:'+level2); if(i ==13){ dialogLevelManager.showDelay(level2,2000,dialog2,MainActivity.this); continue; } if(i ==14){ dialogLevelManager.showDelay(level2,3000,dialog2,MainActivity.this); continue; } dialogLevelManager.show(level2,dialog2,MainActivity.this);}

結果展示:

android dialog根據彈窗等級排序顯示的示例代碼

這里只是單個activity中添加排列顯示dialog的部分重要代碼,要想要全部代碼,下面github

DialogLevel如果感覺有用,請star哦

到此這篇關于android dialog根據彈窗等級排序顯示的文章就介紹到這了,更多相關android dialog彈窗等級排序顯示內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
裸体一区二区三区| 精品久久久久久久久久久久包黑料 | 天使萌一区二区三区免费观看| 亚洲国产精品一区制服丝袜| 中文字幕乱码日本亚洲一区二区| 91在线高清观看| 欧美videos中文字幕| 国产福利91精品| 欧美一区二区网站| 国产69精品久久久久毛片| 555夜色666亚洲国产免| 老汉av免费一区二区三区 | 成人在线视频一区二区| 欧美放荡的少妇| 韩国成人在线视频| 欧美日韩国产小视频在线观看| 亚洲mv在线观看| 久久青草久久| 日韩电影免费在线看| 色狠狠一区二区三区香蕉| 调教+趴+乳夹+国产+精品| 亚洲一区二区四区| 香蕉久久夜色精品国产使用方法| 亚洲综合欧美日韩| 婷婷六月综合亚洲| 久久av最新网址| 亚洲成a人片在线不卡一二三区| 99视频+国产日韩欧美| 亚洲日本在线天堂| 午夜一区不卡| 午夜精品一区在线观看| 玖玖视频精品| 精品在线观看免费| 日韩精品在线看片z| 99久久精品免费看国产免费软件| 久久久精品影视| 欧美日韩视频| 一区二区免费看| 91传媒视频在线播放| 国产在线播精品第三| 91超碰这里只有精品国产| 国产精品系列在线观看| 日韩欧美一级精品久久| 久久精品夜色噜噜亚洲aⅴ| 国产一区高清视频| 亚洲一区二区三区四区在线观看 | 国产精品网站在线播放| 99pao成人国产永久免费视频| 亚洲h在线观看| 欧美日本在线看| 99热在这里有精品免费| 亚洲天堂久久久久久久| 西西人体一区二区| 久久99久久精品| 日韩一级免费观看| 欧美日韩天天操| 亚洲国产aⅴ天堂久久| 欧美日本精品一区二区三区| 99久久免费精品高清特色大片| 亚洲欧洲日韩一区二区三区| 日韩亚洲国产欧美| 天堂蜜桃一区二区三区| 91精品一区二区三区在线观看| 91免费视频观看| 亚洲欧美色一区| 性刺激综合网| 国产成人在线电影| 中文字幕一区二区三区在线播放 | 国内精品久久久久久久97牛牛| 一区二区三区在线视频观看58| 亚洲欧美电影在线观看| 国模无码大尺度一区二区三区 | 久久精品国产99久久6| 欧美日韩成人在线一区| 91欧美一区二区| 亚洲高清在线精品| 91精品国产综合久久久久久久久久| av男人天堂一区| 国产精品高潮久久久久无| 一本大道久久a久久综合婷婷| 国产v日产∨综合v精品视频| 国产欧美一区二区精品性色| 国产精品免费一区二区三区在线观看| 免费高清视频精品| 亚洲精品在线电影| 亚洲影院免费| 国产91露脸合集magnet| 亚洲精品中文字幕乱码三区| 欧美色图在线观看| 欧美激情五月| 日本女人一区二区三区| 久久久www免费人成精品| 国产精品亚洲产品| 国产在线播放一区| 中文字幕日本乱码精品影院| 久久综合给合久久狠狠色| 粉嫩13p一区二区三区| 成人免费在线观看入口| 欧美日韩黄视频| 亚洲精品日韩在线观看| 成人av在线电影| 亚洲成人精品影院| 久久嫩草精品久久久精品| 久久精品日韩| 97国产一区二区| 久久精品免费观看| 国产精品二区一区二区aⅴ污介绍| 欧美日韩美少妇| 亚洲五月婷婷| 国产成人午夜精品影院观看视频| 国产调教视频一区| 在线观看不卡一区| 亚洲一级黄色| 99视频精品全部免费在线| 久久精品久久99精品久久| 亚洲美女精品一区| 精品国产精品一区二区夜夜嗨| 久久精品一区| 亚洲午夜电影| 不卡大黄网站免费看| 久久狠狠亚洲综合| **网站欧美大片在线观看| 欧美日韩国产一区| 国产主播一区| 国产精品一区久久久久| 亚洲制服丝袜av| 国产欧美精品一区aⅴ影院| 欧美年轻男男videosbes| 亚洲欧美bt| 狠狠综合久久| 91亚洲大成网污www| 免费观看日韩av| 中文字幕乱码一区二区免费| 欧美一级日韩不卡播放免费| 色婷婷av一区二区三区之一色屋| 狠狠入ady亚洲精品经典电影| 国产精品羞羞答答xxdd| 欧美aⅴ一区二区三区视频| 亚洲欧美日韩国产另类专区| 久久美女高清视频| 91精品国产手机| 在线影院国内精品| 国产亚洲福利| 欧美日本亚洲| 成人免费看黄yyy456| 激情综合五月天| 午夜精品成人在线视频| 国产精品色一区二区三区| 91精品国产综合久久久久久久久久 | 亚洲国产日韩综合久久精品| 日韩精品一区在线观看| 欧美性色综合网| 国产美女一区| 伊人久久大香线蕉av超碰演员| 99热这里都是精品| 国产精品香蕉一区二区三区| 奇米四色…亚洲| 日本v片在线高清不卡在线观看| 一区二区三区四区视频精品免费 | 一个色在线综合| 中文字幕免费不卡在线| 91精品国产综合久久久久久久| 久久久久综合| 亚洲日本欧美在线| 欧美亚州在线观看| 99精品视频在线观看| 成人动漫一区二区| 国产精品乡下勾搭老头1| 久久精品99国产精品| 毛片av中文字幕一区二区| 亚洲资源中文字幕| 亚洲精品亚洲人成人网| 中文字幕一区二区三区不卡在线| 国产精品无圣光一区二区| 久久综合久久综合九色| 精品欧美一区二区三区精品久久| 欧美另类久久久品| 欧美三级视频在线| 欧美亚洲一区二区在线观看| 久热re这里精品视频在线6| 亚欧美中日韩视频| 欧美亚洲一区| 久久中文在线| 欧美综合在线视频| 欧美午夜片在线观看| 欧美性受极品xxxx喷水| 欧洲av一区二区嗯嗯嗯啊| 91精品福利视频| 色欧美88888久久久久久影院| 国产精品久久久亚洲一区| 99综合在线| 亚洲国产精品毛片| 亚洲激情网站| 亚洲国产日本| 美女日韩在线中文字幕| 久久久久免费| 色8久久精品久久久久久蜜| 欧美日韩亚洲综合在线| 欧美日韩国产免费| 在线91免费看|