flutter設(shè)置寬高,flutter gridview 固定高度

Android原生和Flutter使用過程的差異對(duì)比(一)

1、界面搭建過程中各種大小單位

創(chuàng)新互聯(lián)建站是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營(yíng)銷人員及形象策劃。承接:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)頁設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺(tái)等全方位的服務(wù)。

Android:通常采用dp設(shè)置View寬高(和px像素的換算關(guān)系是dp值 × density邏輯密度),sp設(shè)置字體大?。〞?huì)隨著系統(tǒng)字體設(shè)置的大小而改變)。

Flutter:沒有具體的大小單位描述, 和尺寸相關(guān)的MediaQueryData類中較為重要的幾個(gè)值如下:

(一)devicePixelRatio(設(shè)備像素比),對(duì)應(yīng)Android中的density

(二)size.width和height,設(shè)備的邏輯像素寬高,并非絕對(duì)物理像素(例如iphone6的設(shè)備像素比是2,通過size獲取到的邏輯像素寬高為375 ?×? 667,實(shí)際物理像素則為750 × 1334,即分辨率)

(三)textScaleFactor:?jiǎn)挝贿壿嬒袼刈煮w像素?cái)?shù),默認(rèn)為1,設(shè)置成1.5則字體變大50%,如果想讓Text組件的字體大小不隨系統(tǒng)設(shè)置的變化而變化,需將這個(gè)值設(shè)定成固定值1

UI適配解決方案:

1、采用ScreenUtil插件,初始化時(shí)候傳入設(shè)計(jì)稿大小,當(dāng)發(fā)現(xiàn)一屏顯示的大小有差異時(shí)候采用插件提供的setWidth和setHeight來設(shè)置具體的寬高(會(huì)根據(jù)設(shè)計(jì)稿大小和實(shí)際設(shè)備邏輯像素寬高比進(jìn)行縮放)。

2、TextButton、Text等按鈕和文本組件,通過設(shè)置字體大小和內(nèi)邊距來控制整體的寬高,而非固定其寬高。

2、本地資源文件的引用方式

Android:圖片通常存放在res/mipmap或res/drawable下,不同分辨率對(duì)應(yīng)不同后綴名,如mipmap-hdpi、mipmap-xhdpi

Flutter:需在pubspec.yaml中配置,如下圖所示

如果只配置父級(jí)目錄例如(assets/images/common_status)則無法再存放不同尺寸的圖片。不同尺寸的圖片需建立對(duì)應(yīng)的2.0x、3.0x目錄后存放,設(shè)備在讀取時(shí)候會(huì)自行根據(jù)分辨率去找對(duì)應(yīng)的圖片,弊端是每有一張圖片就需在pubspec.yaml文件中聲明這些圖片

Flutter-如何計(jì)算文字寬高

在某些業(yè)務(wù)上,可能我們需要計(jì)算多段文字的高度,達(dá)到動(dòng)態(tài)適配ListView高度的目的,滿足我們產(chǎn)品的優(yōu)(bian)秀(tai)需求。在android原生層大家都知道有各種手段可以計(jì)算文字的寬、高等,例如paint.layout等等手段。但在flutter中,雖然并沒有直接提供API供開發(fā)者使用,但和android原生一樣,只有看下RichText的源碼就可以發(fā)現(xiàn)其中奧妙。

這里很感謝[zhouxiaofu]為我指出文字高度計(jì)算提到錯(cuò)誤地方,詳細(xì)看評(píng)論。

Flutter開發(fā)Windows 和 Linux 桌面應(yīng)用,設(shè)置默認(rèn)窗口大小

在用Flutter 開發(fā)windows和linux跨平臺(tái)應(yīng)用的時(shí)候,如何設(shè)置默認(rèn)窗口大小呢?

flutter沒有提供統(tǒng)一的api,所以默認(rèn)的窗口大小是1280x720.

如果我們想要改成自己想要的默認(rèn)窗口大小呢?比如我想要設(shè)置為:512像素寬, 926像素高

我該怎么做呢?

請(qǐng)看我的教程。

首先你確保你已經(jīng)為項(xiàng)目創(chuàng)建了windows和Linux的支持。

目前Flutter 為windows和linux提供的是托管式運(yùn)行的主程序,可以理解為一個(gè)殼子,這個(gè)殼子就是用cpp寫的,平臺(tái)原生的window 窗口。

所以我們可以打開相應(yīng)的cpp源代碼,設(shè)置默認(rèn)窗口大小。

這里先講windows和linux,因?yàn)閙ac 平臺(tái)跟windows和linux不一樣,后面單獨(dú)給大家講解。

我們看圖。

源代碼路徑位于:

windows/runner/main.cpp

找到

第一個(gè)參數(shù)是寬度,單位是px,第二個(gè)是高度,單位是px

修改后重新運(yùn)行生效。

源代碼路徑位于:

linux/my_application.cc

找到

方法的第一個(gè)數(shù)字是寬度,第二個(gè)是高度,單位也是px像素。

修改后,重新運(yùn)行生效。

現(xiàn)在,你已經(jīng)學(xué)會(huì)了如何設(shè)置初始窗口大小了。

名稱欄目:flutter設(shè)置寬高,flutter gridview 固定高度
網(wǎng)站URL:http://muchs.cn/article4/phejie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄建站公司、App設(shè)計(jì)、品牌網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化

廣告

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

成都做網(wǎng)站