内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

flutter橫豎屏,flutter橫豎屏切換

Flutter全屏效果實現(xiàn)

調(diào)用SystemChrome.setEnabledSystemUIOverlays([]);

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、成都網(wǎng)站建設與策劃設計,鎮(zhèn)遠網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設十載,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:鎮(zhèn)遠等地區(qū)。鎮(zhèn)遠做網(wǎng)站價格咨詢:18982081108

把狀態(tài)欄和虛擬按鍵隱藏掉,

跳轉(zhuǎn)到其他頁面后需要調(diào)用

SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]);把狀態(tài)欄顯示出來,

需要一起調(diào)用底部虛擬按鍵

SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top, SystemUiOverlay.bottom])

Flutter實踐--屏幕適配

做移動端開發(fā)的小伙伴都知道,針對不同型號和尺寸的手機要進行頁面適配,且Android和iOS適配方案各不相同,那flutter端如何進行適配呢?以下為近期flutter開發(fā)過程中關(guān)于適配的一些學習和記錄~~~~

說到flutter屏幕適配,就不得不提到插件 flutter_screenutil ,提到flutter_screenutil就不得不說以下幾點????

默認寬1080px

默認高1920px

allowFontScaling為false,即不跟隨系統(tǒng)字體大小設置變化

初始化單位為px

需要把context傳進去,因為內(nèi)部是通過 MediaQuery 來獲取屏幕尺寸等相關(guān)信息的

無需再傳context,因為內(nèi)部是通過單例 window 來獲取屏幕尺寸等相關(guān)信息的

作為iOS開發(fā),之前都是以pt為參照進行比例適配的,且架構(gòu)組已經(jīng)定義了一套適配相關(guān)常量,傳px進去不太方便,所以需要對flutter_screenutil進行擴展

公司設計圖是以iPhone X的尺寸提供的即物理設備尺寸為375x812,像素比例為750x1624,像素密度比為2

初始化仍用px來初始化

dart sdk 2.7正式支持 extension-method ,即為已有類擴展方法,從 flutter_screenutil 這種 540.w 寫法點進去,我們可以看到

flutter_screenutil為num類擴展了一系列簡寫方法,那我們當然可以按照它這種方式進行擴展

網(wǎng)上提供的解決方案:

第一步:修改 pubspec.yaml

第二步:執(zhí)行 flutter pub get

第三步:重啟 AndroidStudio

解決方案:去掉const即可

UI設計中px、pt、ppi、dpi、dp、sp之間的關(guān)系

Dart/Flutter - 擴展方法(ExtensionMethod)

Flutter 橫向滾動標簽

要實現(xiàn)上面的效果,每個種類的標簽橫向滾動,實現(xiàn)的方式,最外層的大分類標簽一個ListView,每個分類的標簽也是ListView 設置橫向滾動結(jié)合Wrap組件就能實現(xiàn)。

Flutter 94: 初識 MediaQuery

當我們同時為手機和平板適配編寫 app 針對不同屏幕尺寸進行 UI 布局或當用戶偏好設置較大字號或是想要最大限度等減少動畫等;此時就需要 MediaQuery 來幫我們獲取所用設備的信息以及用戶設置的偏好信息;

MediaQuery 一直存在于 WidgetsApp 和 MaterialApp 中, MediaQuery 繼承自 InheritedWidget 是一個單獨的 Widget ,但一般通過 MediaQuery.of(context) 來獲取相關(guān)信息;

當相關(guān)信息發(fā)生變化,例如屏幕旋轉(zhuǎn)等時,屏幕中 Widget 會重新構(gòu)建,以保持最新狀態(tài);我們可以通過 MediaQuery 構(gòu)造函數(shù)和提供的靜態(tài)方法手動設置對應的相關(guān)信息;

MediaQueryData 包含關(guān)于媒介的相關(guān)信息;一般通過 MediaQuery.of(context) 獲??;

size 為媒介的尺寸大小,以邏輯像素為單位;

devicePixelRatio 為像素密度;與設備物理像素有關(guān),與橫豎屏等無關(guān);

orientation 為橫豎屏, Orientation.landscape 為橫屏, Orientation.portrait 為豎屏;

textScaleFactor 為

每個邏輯像素的字體像素數(shù),小菜理解為字體的像素比;注意,小菜設置了默認字體像素密度為標準的 1.2 倍之后調(diào)整設備系統(tǒng)字號,其 1.2 倍依舊是以標準字號為基礎擴大 1.2 倍;

platformBrightness 為當前設備的亮度模式;注意調(diào)整屏幕亮度并不會改變該模式,與當前系統(tǒng)支持的黑暗模式和明亮模式相關(guān);

alwaysUse24HourFormat 為當前設備是否為 24 小時制;

accessibleNavigation 為是否使用 TalkBack 或 VoiceOver 之類的輔助功能與應用程序進行交互,用以輔助視力障礙人群;

invertColors 為是否使用顏色反轉(zhuǎn),主要用于 iOS 設備;

highContrast 為用戶是否要求前景與背景之間的對比度高,主要用于 iOS 設備;

disableAnimations 為平臺是否要求禁用或減少動畫;

boldText 為平臺是否要求使用粗體;

padding 為屏幕內(nèi)邊距,一般是劉海兒屏或異形屏中被系統(tǒng)遮擋部分邊距;

viewInsets 為鍵盤彈出時等遮擋屏幕邊距,其中 viewInsets.bottom 為鍵盤高度;

systemGestureInsets 為手勢邊距,如 Android Q 之后添加的向左滑動關(guān)閉頁面等;

viewPadding 小菜理解為視圖內(nèi)邊距,為屏幕被劉海兒屏或異形屏中被系統(tǒng)遮擋部分,從 MediaQuery 邊界的邊緣計算;此值是保持不變;例如,屏幕底部的軟件鍵盤可能會覆蓋并占用需要底部填充的相同區(qū)域,因此不會影響此值;

physicalDepth 為設備物理層級,小菜暫時還未想到對應的應用場景;

小菜在嘗試獲取其他子 Widget Size 時,有兩點需要注意,首先要設置一個全局的 GlobalKey 來獲取當前位置, key 需要為唯一的;第二通過 GlobalKey().currentContext 獲取 BuildContext 上下文環(huán)境,從而獲取對應尺寸;

MediaQuery 案例嘗試

小菜對于部分 MediaQueryData 的應用和理解還不夠深入;如有錯誤請多多指導!

Flutter中屏幕適配,尺寸設置

1、 新版本Flutter SDK 引入了 extension的機制??梢詫δ硞€class 進行擴展。(swift中有類似機制)

2、屏幕適配一直是一個老生常談的問題,隨著機型越來越多,適配的場景也越來越復雜。

3、之前有了解過 微信小程序的適配方案,個人一直感覺是一個比較好的方式( iPhone6為標準尺寸)下面????將引用小程序的方案來進行對 Flutter的尺寸設置。

size_fit.dart 文件

double_extension.dart 文件

int_extension.dart 文件

通過上面的設置,在不同設備上,展示的widget的尺寸就會不一樣了。

Flutter應用啟動頁設置,解決 白/黑 屏情況

出現(xiàn)此情況的原因有兩種

解決:

找到 \app\src\main\res\drawable\launch_background.xml 文件,這個里面初始化了布局標簽,只需要把圖片替換為我們自己的就可以。

或者根據(jù)不同手機的分辨率 在mipmap下放置圖片例如:

之后前往 styles.xml 文件設置啟動頁

重新打包就可以看到 剛剛設置的啟動頁了

效果例如:

[圖片上傳失敗...(image-7e5c2-1586668143446)]

至此可以流暢的打開啟動頁了

名稱欄目:flutter橫豎屏,flutter橫豎屏切換
文章分享:http://m.rwnh.cn/article40/dscocho.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站改版、企業(yè)網(wǎng)站制作、商城網(wǎng)站網(wǎng)站維護、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(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)

微信小程序開發(fā)
会泽县| 襄垣县| 新郑市| 正安县| 库伦旗| 米泉市| 五寨县| 灌阳县| 盖州市| 德兴市| 尼玛县| 子洲县| 富民县| 河东区| 门头沟区| 建德市| 建湖县| 安平县| 新郑市| 孙吴县| 黄梅县| 随州市| 宣武区| 余姚市| 桃源县| 连平县| 福海县| 长沙县| 奉节县| 修水县| 西畴县| 聂拉木县| 托克托县| 临沧市| 特克斯县| 黄冈市| 惠东县| 潼南县| 綦江县| 乌苏市| 六盘水市|