萬能的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函式
- Android Room封裝成一個類似Redis的快取資料庫的效果AndroidOOM封裝Redis快取資料庫
- 小程式底部彈框 類似picker效果
- PopupWindow使用詳解(二)Popwindow製作常見花哨效果
- Laravel 小技巧 - 讓路由實現類似 Model::query 的效果Laravel路由
- 在鴻蒙中實現類似瀑布流效果鴻蒙
- 萬能助手 — 類似音速啟動但更好用的桌面圖示快捷方式管理工具
- 萬能助手 -- 類似音速啟動但更好用的桌面圖示快捷方式管理工具
- Weex元件庫-Dialog元件
- Tantivy與Quickwit:類似Lucene的Rust全文搜尋引擎庫UIRust
- SpringBoot+WebFlux透過流式響應實現類似ChatGPT的打字機效果Spring BootWebUXChatGPT
- 一個kotlin編寫的dialog庫,希望這是你使用的最後一個dialog庫Kotlin
- Flutter 實現類似美團外賣店鋪頁面滑動效果Flutter
- Canvas繪製一個類似老版支付寶信用分儀表盤效果Canvas
- 類似gitbook的wiki選擇Git
- 一行核心程式碼做出類似tableViewHeaderView和AppStore裡的ScrollView懸浮條效果ViewHeaderAPP
- 如何在 web 頁面中實現類似 excel 固定表頭 / 標題行的效果?WebExcel
- 98.css:構建類似於 Windows 98 的介面的CSS庫CSSWindows
- 類似微信首頁彈性滾動和慣性滾動效果的實現——OverScroll
- 類人腦:能效提高100萬倍!
- PostgreSQL類似OracleMERGE功能的實現SQLOracle
- RabbitMQ推出類似Kafka的流StreamMQKafka
- ElasticSearch類似Mysql的not in 和 in 查詢ElasticsearchMySql
- VSCode中類似Postman的外掛VSCodePostman
- 好程式設計師技術分享jQuery實現類似fullpage外掛的全屏滾動效果程式設計師jQuery
- [Linux] Linux 自動掛載mount --bind 實現類似目錄硬鏈的效果 (包含ZFS方案)Linux
- 易優實現釋出時間顯示類似幾小時前、幾天前的效果
- 最大似然分類器
- 一個kotlin編寫的dialog庫,希望這是你使用的最後一個dialog庫(v1.1.8 功能更新)Kotlin
- Sql Server資料庫類似正規表示式的字元處理問題SQLServer資料庫字元
- idunno.PasswordGenerator:生成類似1Password高熵密碼的C#庫熵密碼C#
- 萬能java字串編碼轉換工具類Java字串編碼
- 直播平臺原始碼,Android中常用Dialog彈窗效果原始碼Android
- “警車”的“警燈”,類似於GIF
- Vue.js+cube-ui(Scroll元件)實現類似頭條效果的橫向滾動導航條Vue.jsUI元件
- 新鮮出爐的萬能值變數庫 dxsvalue變數
- 利用App漏洞獲利2800多萬元,企業該如何避免類似事件?APP事件
- carlo:類似Electron.js的谷歌平臺JS谷歌
- 使用VuePress搭建一個類似element的文件Vue