為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴
發(fā)表日期:2018-12 文章編輯:小燈 瀏覽次數(shù):2619
源碼地址
在進(jìn)行flutter的布局之中,有這么幾個(gè)比較重要的概念:
Logical pixels : 這個(gè)是實(shí)際布局中所用到的概念,類似于android中的dp
physical pixels(device pixels) : 指的就是物理設(shè)備中的像素點(diǎn)
devicePixelRatio : 指的是一個(gè)Logical pixels所對(duì)應(yīng)的physical pixels的數(shù)量,實(shí)際上就是類似于android中的density
flutter提供了非常強(qiáng)大的Layout widgets,實(shí)際上配合這些Layout Widget,用Logical pixels這個(gè)概念是可以做到在不同分辨率,不同像素密度的屏幕上進(jìn)行拉伸與縮放而不至于有太大的變形,但這樣做勢(shì)必會(huì)增加我們適配的難度。
因?yàn)閒lutter對(duì)屏幕適配的概念與android的屏幕適配相似,所以可以將android平臺(tái)上的屏幕適配的相關(guān)經(jīng)驗(yàn)移到flutter平臺(tái)上。
實(shí)際上如果不考慮Logical pixels而只考慮physical pixels,,可以引申出一種拉伸適配的概念,對(duì)于一個(gè)指定的ui設(shè)計(jì)稿,可以采取以下這種方式:
designW : 設(shè)計(jì)稿的寬
designH : 設(shè)計(jì)稿的高
deviceW : 設(shè)備的寬
deviceH : 設(shè)備的高
如果我們以寬進(jìn)行適配,也就說將設(shè)計(jì)稿的寬拉伸或者縮小到設(shè)備的寬,那么可以以如下的公式進(jìn)行轉(zhuǎn)換:
dw : 設(shè)計(jì)稿中某個(gè)控件的位置
vw : 最終在實(shí)際的設(shè)備中的位置
????
???? 其中
如果我們以高進(jìn)行適配,也就是說將設(shè)計(jì)稿的高拉伸或縮小到設(shè)備的高,那么與寬拉伸相似:
????
???? 其中
比如說分辨率為1080x1920的ui稿,要適配到1440x2560的屏幕上,可以這樣做:
寬適配:
????
????
高適配:
????
????
經(jīng)過這樣的計(jì)算,可以將設(shè)計(jì)稿完美的拉伸到任意設(shè)備的屏幕上去,但是有一點(diǎn)需要注意,如果目標(biāo)設(shè)備的屏幕的寬高比與設(shè)計(jì)稿的寬高比不一致,那么會(huì)導(dǎo)致如下兩種情況:
?1.如果是寬適配,那么如果目標(biāo)設(shè)備的寬高比小于設(shè)計(jì)稿的寬高比(也就是說目標(biāo)設(shè)備的屏幕比設(shè)計(jì)稿長(zhǎng),例如現(xiàn)在的全面屏或劉海屏)那么就會(huì)導(dǎo)致有一個(gè)部分留白,如果目標(biāo)設(shè)備的寬高比大于大于設(shè)計(jì)稿的寬高比(例如iphone4這樣的屏幕)那么就會(huì)導(dǎo)致導(dǎo)致當(dāng)前的屏幕無法完全顯示設(shè)計(jì)稿的內(nèi)容,這兩種情況就需要在設(shè)計(jì)界面的時(shí)候充分的考慮到,提前做好處理
?2.高適配和寬適配是一樣的,只不過是會(huì)產(chǎn)生橫向的留白或者無法完全顯示
適配后的圖片如下:
設(shè)計(jì)稿 : 寬 1080 高 1920 480dpi
不同設(shè)備對(duì)應(yīng)如下 :
pixel | 寬 : 1080 高 1920 480dpi
iphone x | 寬 : 1125 高 2436 458ppi
可以看到,對(duì)于不同的屏幕,都是能夠做到與設(shè)計(jì)稿一致的。
日期:2018-10 瀏覽次數(shù):7274
日期:2018-12 瀏覽次數(shù):4345
日期:2018-07 瀏覽次數(shù):4891
日期:2018-12 瀏覽次數(shù):4187
日期:2018-09 瀏覽次數(shù):5516
日期:2018-12 瀏覽次數(shù):9938
日期:2018-11 瀏覽次數(shù):4823
日期:2018-07 瀏覽次數(shù):4595
日期:2018-05 瀏覽次數(shù):4870
日期:2018-12 瀏覽次數(shù):4337
日期:2018-10 瀏覽次數(shù):5153
日期:2018-12 瀏覽次數(shù):6229
日期:2018-11 瀏覽次數(shù):4482
日期:2018-08 瀏覽次數(shù):4602
日期:2018-11 瀏覽次數(shù):12654
日期:2018-09 瀏覽次數(shù):5595
日期:2018-12 瀏覽次數(shù):4848
日期:2018-10 瀏覽次數(shù):4202
日期:2018-11 瀏覽次數(shù):4541
日期:2018-12 瀏覽次數(shù):6077
日期:2018-06 瀏覽次數(shù):4018
日期:2018-08 瀏覽次數(shù):5452
日期:2018-10 瀏覽次數(shù):4466
日期:2018-12 瀏覽次數(shù):4547
日期:2018-07 瀏覽次數(shù):4372
日期:2018-12 瀏覽次數(shù):4513
日期:2018-06 瀏覽次數(shù):4401
日期:2018-11 瀏覽次數(shù):4387
日期:2018-12 瀏覽次數(shù):4262
日期:2018-12 瀏覽次數(shù):5297
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.