欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

flutter雙層彈窗,flutter border

Flutter實戰(zhàn)巧之-showModalBottomSheet 高度自適應(yīng)

showModalBottomSheet 所彈出的內(nèi)容高度是固定的。要想自適應(yīng)自己布局的高度只需如下兩點:

我們提供的服務(wù)有:網(wǎng)站設(shè)計、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、平羅ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的平羅網(wǎng)站制作公司

加入 isScrollControlled: true 后,彈窗高度會變成全屏的。接下來就是自己布局中的處理。

BottomPhotoDialog是我自己寫的想要彈出的布局。在根節(jié)點中用SingleChildScrollView來包裹Column即可讓彈窗高度適應(yīng)布局高度

Flutter Boost 接入實踐(iOS 篇)

本文將簡單梳理一下 iOS 工程接入的 Flutter Boost 的流程,以作為前文的補充。

flutter_application_path = '../flutter_module'

load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')

target 'FlutterHybridiOS' do

install_all_flutter_pods(flutter_application_path)

end

接著在工程根目錄下運行 pod install ,即可集成上 Flutter Module。看到我們的 Pods 中多了以下幾個模塊,即說明集成成功。

接著在工程根目錄下運行 pod install ,即可集成上 Flutter Module。看到我們的 Pods 中多了以下幾個模塊,即說明集成成功。

這一塊直接參照 Flutter Boost 官方提供的 example 就好了:

PlatformRouterImp.h:

PlatformRouterImp.m:

可以看到,F(xiàn)lutter Boost 支持常規(guī) push,也支持打開模態(tài)彈窗,也支持手動 pop。

AppDelegate.h:

AppDelegate.m:

同樣的,這里可在 Native 端用兩種不同的方式去打開我們在 Flutter Module 中注冊好的路由名。

至此,我們成功在 iOS 工程中接入了 Flutter Boost,那就開啟我們的混編之旅吧~

Flutter 自定義彈窗組件

封裝的彈窗必須要靈活,滿足實際開發(fā)中的大部分彈窗,比如有無標題、有無內(nèi)容、有無關(guān)閉按鈕、有無操作按鈕以及按鈕的排列樣式等需要滿足多元化~

共有四個文件: ww_dialog.dart 、 ww_middle_bottom_dialog_widget.dart 、 ww_top_dialog_widget.dart 、 ww_top_dialog_item_data.dart

彈窗主要調(diào)用類,主要包含: WWDialog.showTopDialog 、 WWDialog.showMiddleDialog 、 WWDialog.showBottomDialog

支持自定義配置背景顏色、字體大小、顏色、統(tǒng)一回調(diào)、自定義按鈕、單獨回調(diào)、是否帶三角標志、任意位置、最大高度、超過可以滑動等~

部分展示效果:

支持配置背景顏色、字體大小、顏色、字重、按鈕排列方式、標題、內(nèi)容、按鈕支持完全自定義、點擊的回調(diào)等~

部分展示效果:

支持配置背景顏色、字體大小、顏色、字重、按鈕排列方式、標題、內(nèi)容、按鈕支持完全自定義、點擊的回調(diào)等~

部分展示效果:

中間、底部彈窗的彈窗widget

頂部彈窗的彈窗widget

頂部彈窗的數(shù)據(jù)源數(shù)據(jù)模型item

github傳送門:

一種更優(yōu)雅的Flutter Dialog解決方案

系統(tǒng)自帶的Dialog實際上就是Push了一個新頁面,這樣存在很多好處,但是也存在一些很難解決的問題

上面這些痛點,簡直個個致命 ,當(dāng)然,還存在一些其它的解決方案,例如:

很明顯,使用Overlay可移植性最好,目前很多toast和dialog三方庫便是使用該方案,使用了一些loading庫,看了其中源碼,穿透背景解決方案,和預(yù)期想要的效果大相徑庭、一些dialog庫自帶toast顯示,但是toast顯示卻又不能和dialog共存(toast屬于特殊的信息展示,理應(yīng)能獨立存在),導(dǎo)致我需要多依賴一個Toast庫

基于上面那些難以解決的問題,只能自己去實現(xiàn),花了一些時間,實現(xiàn)了一個Pub包,基本該解決的痛點都已解決了,用于實際業(yè)務(wù)沒什么問題

使用 FlutterSmartDialog 包裹下child即可,下面就可以愉快的使用SmartDialog了

使用Overlay的依賴庫,基本都存在一個問題,難以對返回事件的監(jiān)聽,導(dǎo)致觸犯返回事件難以關(guān)閉彈窗布局之類,想了很多辦法,沒辦法在依賴庫中解決該問題,此處提供一個 BaseScaffold ,在每個頁面使用 BaseScaffold ,便能解決返回事件關(guān)閉Dialog問題

當(dāng)時想解決穿透暗色背景,和背景后面的控件互動的時候,我?guī)缀趿ⅠR想到這倆個控件,先了解下這倆個控件吧

分析

這種方案,成功實現(xiàn)想要的穿透效果,這里了解下 behavior 的幾種屬性

有戲了!很明顯translucent是有希望的,嘗試了幾次,然后成功實現(xiàn)了想要的效果

注意,這邊有幾個坑點,提一下

下面是寫的一個驗證小示例

這個庫花了一些時間去構(gòu)思和實現(xiàn),算是解決幾個很大的痛點

FlutterSmartDialog一些信息

狀態(tài)管理

flutter版bugly已完成,歡迎使用

在android/app/build.gradle的android下加入

64-bit

32-bit

通過FlutterBugly.getUpgradeInfo()獲取更新策略信息填入自定義flutter widget,手動彈窗

UpgradeInfo參數(shù):

異常上報說明

1、flutter異常上報不屬于崩潰,所以如需查看flutter的異常上報,請在【錯誤分析】tab頁查看

2、iOS的異常上報沒有過多測試,如出現(xiàn)問題請issue

目前已知問題

1、第一次接受到更新策略之后,不會彈窗,即使手動檢查更新也不會,需要退出app之后再進入,才會有彈窗(已解決)

2、官方?jīng)]有適配8.0的notification,所以如果需要用到notification的時候請關(guān)閉后(默認關(guān)閉),自己寫相關(guān)業(yè)務(wù)邏輯,或者直接把gradle里的targetSdkVersion設(shè)成26以下(方法見示例)

網(wǎng)頁標題:flutter雙層彈窗,flutter border
文章URL:http://chinadenli.net/article22/dsepgcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司網(wǎng)站建設(shè)全網(wǎng)營銷推廣App設(shè)計網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司