萬能的dialog庫(包括類似popwindow效果)
博主最近發現了一個萬能的dialog庫
一、目前這個庫具有的主要功能如下:
material風格(v7支援包中的),ios風格,自動獲取頂層activity,可在任意介面彈出,可在任意執行緒彈出。(也就是說安卓也可以實現ios風格的dialog,666,是不是吊炸天呢?博主再也不會被ios哥們嘲笑了。博主也可以輕鬆實現它們系統dialog的效果)
二、先看一下1.1.5版本的特性:
loading對話方塊和ios風格的dialog傳入context和activity均可彈出dialog.
樣式包括常用的ios風格dialog和meterial design風格的dialog.
自定義樣式:可以傳入自定義的view,定義好事件,本工具負責顯示
考慮了顯示內容超多時的滑動和與螢幕的間隙.
三、使用前的導包:
步驟1.將JitPack儲存庫新增到您的構建檔案中
allprojects {
repositories {
…
maven { url “https://jitpack.io” }
}
}
步驟2.新增依賴關係
dependencies {
compile `com.github.hss01248:DialogUtil:1.1.5`
}
最新版本請看這裡的版本是多少,就寫多少:
https://github.com/hss01248/DialogUtil/releases
四、初始化
五、示例程式碼(比如在MainActivity裡面)
以下程式碼是模仿ios的dialog風格(佈局裡面定義一個button就行了),執行圖如下圖:
程式碼如下:
六、相關回撥原始碼解析
MyDialogListener原始碼解釋:
MyItemDialogListener原始碼解釋:
七、不同樣式載入使用方法
(1)ios樣式的載入
buildLoading( )
buildLoading( CharSequence msg)
updateLoadingMsg(final String msg)//更新msg
(2)android樣式的載入
buildMdLoading( )
buildMdLoading( CharSequence msg)
updateLoadingMsg(final String msg)//更新msg
(3)ProgressDialog的水平
buildProgress( CharSequence msg,boolean isHorizontal)
//更新進度
updateProgress(final Dialog dialog, final int progress, final int max, final CharSequence msg, final boolean isHorizontal)
(4)ProgressiveDialog of Spinner,用文字顯示的進度(自動計算):
(5)Appcompat-v7的AlertDialog
1)buildMdAlert( CharSequence title, CharSequence msg, MyDialogListener listener)
2)buildMdSingleChoose( CharSequence title, int defaultChosen, CharSequence[] words, MyItemDialogListener listener)
3)buildMdMultiChoose( CharSequence title, CharSequence[] words, List selectedIndexs, MyDialogListener btnListener)
(6)IOS風格(含按下效果)
1)buildIosAlert( CharSequence title, CharSequence msg, MyDialogListener listener)
2)buildIosAlertVertical( CharSequence title, CharSequence msg, MyDialogListener listener)
3)buildNormalInput( CharSequence title, CharSequence hint1,
CharSequence hint2,CharSequence firstTxt, CharSequence secondTxt, MyDialogListener listener)
4)buildIosSingleChoose( List words, MyItemDialogListener listener)
5)buildBottomItemDialog( List words, CharSequence bottomTxt, MyItemDialogListener listener)
(7)BottomSheetDialog的設計
1)buildBottomSheetLv(CharSequence title, List datas, CharSequence bottomTxt, MyItemDialogListener listener)
2)buildBottomSheetGv( CharSequence title, List datas, CharSequence bottomTxt, int columnsNum ,MyItemDialogListener listener)
(8)GridView中拉出來時:
(9)彈出自己定義的一個檢視:(示例圖中有一個網頁檢視)
ViewGroup customView = (ViewGroup) View.inflate(this,R.layout.customview,null);
final ConfigBean bean = StyledDialog.buildCustom(customView, Gravity.CENTER);
final Dialog dialog1 = bean.show();
github地址如下:
https://github.com/glassLake/DialogUtils(這個庫已經停止更新)請移步下面這個庫:
https://github.com/hss01248/DialogUtil (博主目前使用的是1.1.5版本)
相關文章
- mysql 效果類似split函式MySql函式
- 誰能提供一個開源的下載庫 類似於FlashGet
- 小程式底部彈框 類似picker效果
- 在鴻蒙中實現類似瀑布流效果鴻蒙
- jquery另外一種類似tab切換效果jQuery
- Android Room封裝成一個類似Redis的快取資料庫的效果AndroidOOM封裝Redis快取資料庫
- JS五星級評分效果(類似與淘寶打分效果)JS
- Laravel 小技巧 - 讓路由實現類似 Model::query 的效果Laravel路由
- JS實現 類似圖片3D效果JS3D
- SOLARIS下的Package安裝(包括直接網上安裝,類似linux的YUM)PackageLinux
- JS時間軸效果(類似於qq空間時間軸效果)JS
- 萬能助手 — 類似音速啟動但更好用的桌面圖示快捷方式管理工具
- 萬能助手 -- 類似音速啟動但更好用的桌面圖示快捷方式管理工具
- PopWindow:基本使用與自定義PopWindow
- Android中使用RecyclerView + SnapHelper實現類似ViewPager效果AndroidViewpager
- QT實現類似於網頁step 選單效果QT網頁
- PopupWindow使用詳解(二)Popwindow製作常見花哨效果
- 類似 MSDN 左邊導航樹效果的實現! [JavaScript + ASP] (轉)JavaScript
- jQuery類似電影院座位選取效果程式碼例項jQuery
- 系統級別的window,應用級別的彈出框Dialog/popwindow (dismiss和cancel和hide)IDE
- Tantivy與Quickwit:類似Lucene的Rust全文搜尋引擎庫UIRust
- C# SQLiteHelper類似SqlHelper類實現存取Sqlite資料庫C#SQLite資料庫
- Flutter 實現類似美團外賣店鋪頁面滑動效果Flutter
- iOS 類似美團外賣 app 兩個 tableView 聯動效果實現iOSAPPView
- Weex元件庫-Dialog元件
- 類似gitbook的wiki選擇Git
- mysql類似merge的操作MySql
- 萬能java字串編碼轉換工具類Java字串編碼
- 類人腦:能效提高100萬倍!
- 類似憤怒的小鳥層滑動的視差效果(CCParallaxNode)和粒子效果記憶體洩露問題記憶體洩露
- iOS圖片瀏覽器 - XLPhotoBrowser(類似微信多圖片瀏覽效果)iOS瀏覽器
- 類似 MSDN 導航樹效果 ASP.Net(C#) + JavaScript 實現! (轉)ASP.NETC#JavaScript
- 如何在 web 頁面中實現類似 excel 固定表頭 / 標題行的效果?WebExcel
- 類似微信首頁彈性滾動和慣性滾動效果的實現——OverScroll
- SpringBoot+WebFlux透過流式響應實現類似ChatGPT的打字機效果Spring BootWebUXChatGPT
- Android輕鬆搞定Dialog提示動畫效果Android動畫
- 98.css:構建類似於 Windows 98 的介面的CSS庫CSSWindows
- ElasticSearch類似Mysql的not in 和 in 查詢ElasticsearchMySql