欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)激活碼778899分享:Flutter 屏幕適配

柚子快報(bào)激活碼778899分享:Flutter 屏幕適配

http://yzkb.51969.com/

fontSize: Adapt.px(30),

)

)

// 容器尺寸大小設(shè)置 一個(gè)設(shè)計(jì)圖為 300*300像素的容器

new Container( width: Adapt.px(300),

height: Adapt.px(300),

)

// 1px

new Container(

decoration: new BoxDecoration(

border: new Border(bottom:BorderSide(width: Adapt.one())),

),

)

屏幕適配方案插件-完美解決屏幕適配

插件地址

添加依賴(lài)

dependencies:

flutter:

sdk: flutter

添加依賴(lài)

flutter_screenutil: ^0.5.0

| 屬性 | 類(lèi)型 | 默認(rèn)值 | 描述 |

| — | — | — | — |

| width | int | 1080px | 設(shè)計(jì)稿中設(shè)備的寬度,單位px |

| height | int | 1920px | 設(shè)計(jì)稿中設(shè)備的高度,單位px |

| allowFontScaling | bool | false | 設(shè)置字體大小是否根據(jù)系統(tǒng)的“字體大小”輔助選項(xiàng)來(lái)進(jìn)行縮放 |

初始化

@override

Widget build(BuildContext context) {

ScreenUtil.init(context, width: 750, height: 1624, allowFontScaling: true);

}

//填入設(shè)計(jì)稿中設(shè)備的屏幕尺寸

//默認(rèn) width : 1080px , height:1920px , allowFontScaling:false

ScreenUtil.instance = ScreenUtil.getInstance()…init(context);

//假如設(shè)計(jì)稿是按iPhone6的尺寸設(shè)計(jì)的(iPhone6 750*1334)

ScreenUtil.instance = ScreenUtil(width: 750, height: 1334)…init(context);

//設(shè)置字體大小根據(jù)系統(tǒng)的“字體大小”輔助選項(xiàng)來(lái)進(jìn)行縮放,默認(rèn)為false : 字體隨著系統(tǒng)的“字體大小”輔助選項(xiàng)來(lái)進(jìn)行縮放

ScreenUtil.instance = ScreenUtil(width: 750, height: 1334, allowFontScaling: true)…init(context);

適配尺寸

//長(zhǎng)方形:

Container(

width: ScreenUtil.getInstance().setWidth(375),

height: ScreenUtil.getInstance().setHeight(200),

),

//如果你想顯示一個(gè)正方形:

Container(

width: ScreenUtil.getInstance().setWidth(300),

height: ScreenUtil.getInstance().setWidth(300),

),

適配字體-傳入設(shè)計(jì)稿的px尺寸

//傳入字體大小,默認(rèn)不根據(jù)系統(tǒng)的“字體大小”輔助選項(xiàng)來(lái)進(jìn)行縮放(可在初始化ScreenUtil時(shí)設(shè)置allowFontScaling)

ScreenUtil.getInstance().setSp(28)

//傳入字體大小,根據(jù)系統(tǒng)的“字體大小”輔助選項(xiàng)來(lái)進(jìn)行縮放(如果某個(gè)地方不遵循全局的allowFontScaling設(shè)置)

ScreenUtil(allowFontScaling: true).setSp(28)

//for example:

Column(

crossAxisAlignment: CrossAxisAlignment.start,

children: [

Text('我的文字大小在設(shè)計(jì)稿上是25px,不會(huì)隨著系統(tǒng)的文字縮放比例變化',

style: TextStyle(

color: Colors.black, fontSize: ScreenUtil.getInstance().setSp(24))),

Text('我的文字大小在設(shè)計(jì)稿上是25px,會(huì)隨著系統(tǒng)的文字縮放比例變化',

style: TextStyle(

color: Colors.black, fontSize: ScreenUtil(allowFontScaling: true).setSp(24))),

],

)

其他相關(guān)api

ScreenUtil.pixelRatio //設(shè)備的像素密度

ScreenUtil.screenWidth //設(shè)備寬度

ScreenUtil.screenHeight //設(shè)備高度

ScreenUtil.bottomBarHeight //底部安全區(qū)距離,適用于全面屏下面有按鍵的

ScreenUtil.statusBarHeight //狀態(tài)欄高度 劉海屏?xí)? 單位px

ScreenUtil.textScaleFactory //系統(tǒng)字體縮放比例

ScreenUtil.getInstance().scaleWidth // 實(shí)際寬度的dp與設(shè)計(jì)稿px的比例

ScreenUtil.getInstance().scaleHeight // 實(shí)際高度的dp與設(shè)計(jì)稿px的比例

@override

Widget build(BuildContext context) {

//設(shè)置適配尺寸 (填入設(shè)計(jì)稿中設(shè)備的屏幕尺寸) 假如設(shè)計(jì)稿是按iPhone6的尺寸設(shè)計(jì)的(iPhone6 750*1334)

ScreenUtil.instance = ScreenUtil(width: 750, height: 1334)..init(context);

print('設(shè)備寬度:${ScreenUtil.screenWidth}'); //Device width

print('設(shè)備高度:${ScreenUtil.screenHeight}'); //Device height

print('設(shè)備的像素密度:${ScreenUtil.pixelRatio}'); //Device pixel density

print(

'底部安全區(qū)距離:${ScreenUtil.bottomBarHeight}'); //Bottom safe zone distance,suitable for buttons with full screen

print(

'狀態(tài)欄高度:${ScreenUtil.statusBarHeight}px'); //Status bar height , Notch will be higher Unit px

print('實(shí)際寬度的dp與設(shè)計(jì)稿px的比例:${ScreenUtil.getInstance().scaleWidth}');

print('實(shí)際高度的dp與設(shè)計(jì)稿px的比例:${ScreenUtil.getInstance().scaleHeight}');

print(

'寬度和字體相對(duì)于設(shè)計(jì)稿放大的比例:${ScreenUtil.getInstance().scaleWidth * ScreenUtil.pixelRatio}');

print(

'高度相對(duì)于設(shè)計(jì)稿放大的比例:${ScreenUtil.getInstance().scaleHeight * ScreenUtil.pixelRatio}');

print('系統(tǒng)的字體縮放比例:${ScreenUtil.textScaleFactory}');

return new Scaffold(

appBar: new AppBar(

title: new Text(widget.title),

),

body: new Center(

child: Column(

crossAxisAlignment: CrossAxisAlignment.center,

children: [

Row(

children: [

Container(

width: ScreenUtil.getInstance().setWidth(375),

height: ScreenUtil.getInstance().setHeight(200),

color: Colors.red,

child: Text(

'我的寬度:${ScreenUtil.getInstance().setWidth(375)}dp',

style: TextStyle(

color: Colors.white,

fontSize: ScreenUtil.getInstance().setSp(12),

),

),

),

Container(

width: ScreenUtil.getInstance().setWidth(375),

height: ScreenUtil.getInstance().setHeight(200),

color: Colors.blue,

child: Text('我的寬度:${ScreenUtil.getInstance().setWidth(375)}dp',

style: TextStyle(

color: Colors.white,

fontSize: ScreenUtil.getInstance().setSp(12),

)),

),

],

),

Text('設(shè)備寬度:${ScreenUtil.screenWidth}px'),

Text('設(shè)備高度:${ScreenUtil.screenHeight}px'),

Text('設(shè)備的像素密度:${ScreenUtil.pixelRatio}'),

Text('底部安全區(qū)距離:${ScreenUtil.bottomBarHeight}px'),

Text('狀態(tài)欄高度:${ScreenUtil.statusBarHeight}px'),

Text(

'實(shí)際高度的dp與設(shè)計(jì)稿px的比例:${ScreenUtil.getInstance().scaleHeight}',

textAlign: TextAlign.center,

),

Text(

'實(shí)際高度的dp與設(shè)計(jì)稿px的比例:${ScreenUtil.getInstance().scaleHeight}',

textAlign: TextAlign.center,

),

Text(

'寬度和字體相對(duì)于設(shè)計(jì)稿放大的比例:${ScreenUtil.getInstance().scaleWidth * ScreenUtil.pixelRatio}',

textAlign: TextAlign.center,

),

Text(

'高度相對(duì)于設(shè)計(jì)稿放大的比例:${ScreenUtil.getInstance().scaleHeight * ScreenUtil.pixelRatio}',

textAlign: TextAlign.center,

),

SizedBox(

height: ScreenUtil.getInstance().setHeight(100),

),

Text('系統(tǒng)的字體縮放比例:${ScreenUtil.textScaleFactory}'),

Column(

crossAxisAlignment: CrossAxisAlignment.start,

children: [

Text('我的文字大小在設(shè)計(jì)稿上是25px,不會(huì)隨著系統(tǒng)的文字縮放比例變化',

style: TextStyle(

color: Colors.black, fontSize: ScreenUtil.getInstance().setSp(24))),

Text('我的文字大小在設(shè)計(jì)稿上是25px,會(huì)隨著系統(tǒng)的文字縮放比例變化',

style: TextStyle(

color: Colors.black, fontSize: ScreenUtil(allowFontScaling: true).setSp(24))),

],

)

],

),

),

);

}

全面屏、折疊屏適配與兼容問(wèn)題

一 啟動(dòng)白屏問(wèn)題

采用Flutter 開(kāi)發(fā)的app,無(wú)論Android還是Ios,都會(huì)出現(xiàn)白屏的現(xiàn)象,大概持續(xù)1-3秒,他會(huì)根據(jù)手機(jī)或模擬器的速溶而不同,時(shí)間可長(zhǎng)可短。Flutter 應(yīng)用在啟動(dòng)的時(shí)候會(huì)先啟動(dòng)Flutter SDK, 然后加載到內(nèi)存里面 ,然后完成渲染,在這個(gè)過(guò)程中 它是沒(méi)有內(nèi)容可以顯示的,因此會(huì)顯示白屏.

二 解決白屏問(wèn)題

(1)可以在flutter項(xiàng)目中引入插件

https://pub.dev/packages/flutter_splash_screen

注意 :Android App啟動(dòng)的時(shí)候,會(huì)有一個(gè)默認(rèn)的白屏 ,這個(gè)白屏在啟動(dòng)的時(shí)候會(huì)顯示主題,如果主體色不是透明的 就會(huì)有個(gè)白屏

Android的白屏非兩個(gè)部分,一個(gè)是主題的白屏(如果主題不是透明的時(shí)候,點(diǎn)擊圖標(biāo)會(huì)顯示白屏),二,當(dāng)App啟動(dòng)起來(lái)之后,會(huì)顯示啟動(dòng)屏(如果沒(méi)有啟動(dòng)屏,會(huì)顯示默認(rèn)的白屏)

二 Flutter 全面屏適配指南

1)全面屏特點(diǎn),以及存在問(wèn)題

特點(diǎn):

1 大屏占比高、長(zhǎng)寬比不再試16:9,達(dá)到了19.5:9甚至更高

2 短邊的像素,density的取值是一樣的 所有適配的是長(zhǎng)邊

問(wèn)題:

1. 傳統(tǒng)布局的高度不足,導(dǎo)致上下留黑邊

2. 基于屏幕頂部或底部的布局,如彈框,在全面屏手機(jī)上會(huì)發(fā)生位移

3. 安全區(qū)域問(wèn)題

Flutter中全面屏的頁(yè)面適配分兩種情況:

1.一種是對(duì)于頁(yè)面已經(jīng)使用了Scaffold的appBar 與bottomNavigationBar頁(yè)面是不需要額外適配的,因?yàn)镾caffold框架會(huì)自動(dòng)化幫助我們完成這些適配工作;

2. 另外一種情況,沒(méi)有使用了Scaffold或者****Scaffold的appBar 與bottomNavigationBar頁(yè)面,改如何適配全面屏呢?

(1) 適配要點(diǎn)

.?頂部NavigationBar上部留安全區(qū)域

.??底部****NavigationBar底部留安全區(qū)域

對(duì)于安全區(qū)域的適配有兩種方案:

**1. 采用 SafeArea來(lái)包裹頁(yè)面,**SafeArea是Flutter中的一個(gè)用于全面屏的一個(gè)組件,類(lèi)似RN中SafeAreaView 主要用于解決適配全面屏手機(jī)的安全取悅問(wèn)題;

2.借助MeadiaQuery.of(context).padding 獲取屏幕四周的padding,然后根據(jù)padding自己手動(dòng)實(shí)現(xiàn)對(duì)安全區(qū)域的控制;

. 方案一:相對(duì)簡(jiǎn)單的,只需要引入****SafeArea,但不夠靈活

. 方案二:需要借助****MeadiaQuery.of(context).padding自己實(shí)現(xiàn)對(duì)安全區(qū)域的控制,相對(duì)復(fù)雜些,但靈活度高

借助 MediaQuery.of(context).padding手動(dòng)適配

自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過(guò),也去過(guò)華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。

深知大多數(shù)初中級(jí)Android工程師,想要提升技能,往往是自己摸索成長(zhǎng)或者是報(bào)班學(xué)習(xí),但對(duì)于培訓(xùn)機(jī)構(gòu)動(dòng)則近萬(wàn)的學(xué)費(fèi),著實(shí)壓力不小。自己不成體系的自學(xué)效果低效又漫長(zhǎng),而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年Android移動(dòng)開(kāi)發(fā)全套學(xué)習(xí)資料》,初衷也很簡(jiǎn)單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。

既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上Android開(kāi)發(fā)知識(shí)點(diǎn),真正體系化!

由于文件比較大,這里只是將部分目錄截圖出來(lái),每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且會(huì)持續(xù)更新!

如果你覺(jué)得這些內(nèi)容對(duì)你有幫助,可以掃碼獲?。。。▊渥ⅲ篈ndroid)

總結(jié)

最后為了幫助大家深刻理解Android相關(guān)知識(shí)點(diǎn)的原理以及面試相關(guān)知識(shí),這里放上相關(guān)的我搜集整理的Android開(kāi)發(fā)中高級(jí)必知必會(huì)核心筆記,共計(jì)2968頁(yè)P(yáng)DF、58w字,囊括Android開(kāi)發(fā)648個(gè)知識(shí)點(diǎn),我把技術(shù)點(diǎn)整理成了視頻和PDF(實(shí)際上比預(yù)期多花了不少精力),包知識(shí)脈絡(luò) + 諸多細(xì)節(jié)。

網(wǎng)上學(xué)習(xí) Android的資料一大堆,但如果學(xué)到的知識(shí)不成體系,遇到問(wèn)題時(shí)只是淺嘗輒止,不再深入研究,那么很難做到真正的技術(shù)提升。希望這份系統(tǒng)化的技術(shù)體系對(duì)大家有一個(gè)方向參考。

2021年雖然路途坎坷,都在說(shuō)Android要沒(méi)落,但是,不要慌,做自己的計(jì)劃,學(xué)自己的習(xí),競(jìng)爭(zhēng)無(wú)處不在,每個(gè)行業(yè)都是如此。相信自己,沒(méi)有做不到的,只有想不到的。

雖然面試失敗了,但我也不會(huì)放棄入職字節(jié)跳動(dòng)的決心的!建議大家面試之前都要有充分的準(zhǔn)備,順順利利的拿到自己心儀的offer。

《互聯(lián)網(wǎng)大廠面試真題解析、進(jìn)階開(kāi)發(fā)核心學(xué)習(xí)筆記、全套講解視頻、實(shí)戰(zhàn)項(xiàng)目源碼講義》點(diǎn)擊傳送門(mén)即可獲??!

gtp.com/2024/03/13/H4lCoPEF.jpg" />

總結(jié)

最后為了幫助大家深刻理解Android相關(guān)知識(shí)點(diǎn)的原理以及面試相關(guān)知識(shí),這里放上相關(guān)的我搜集整理的Android開(kāi)發(fā)中高級(jí)必知必會(huì)核心筆記,共計(jì)2968頁(yè)P(yáng)DF、58w字,囊括Android開(kāi)發(fā)648個(gè)知識(shí)點(diǎn),我把技術(shù)點(diǎn)整理成了視頻和PDF(實(shí)際上比預(yù)期多花了不少精力),包知識(shí)脈絡(luò) + 諸多細(xì)節(jié)。

[外鏈圖片轉(zhuǎn)存中…(img-tNCXeFDZ-1713311249798)]

網(wǎng)上學(xué)習(xí) Android的資料一大堆,但如果學(xué)到的知識(shí)不成體系,遇到問(wèn)題時(shí)只是淺嘗輒止,不再深入研究,那么很難做到真正的技術(shù)提升。希望這份系統(tǒng)化的技術(shù)體系對(duì)大家有一個(gè)方向參考。

2021年雖然路途坎坷,都在說(shuō)Android要沒(méi)落,但是,不要慌,做自己的計(jì)劃,學(xué)自己的習(xí),競(jìng)爭(zhēng)無(wú)處不在,每個(gè)行業(yè)都是如此。相信自己,沒(méi)有做不到的,只有想不到的。

雖然面試失敗了,但我也不會(huì)放棄入職字節(jié)跳動(dòng)的決心的!建議大家面試之前都要有充分的準(zhǔn)備,順順利利的拿到自己心儀的offer。

《互聯(lián)網(wǎng)大廠面試真題解析、進(jìn)階開(kāi)發(fā)核心學(xué)習(xí)筆記、全套講解視頻、實(shí)戰(zhàn)項(xiàng)目源碼講義》點(diǎn)擊傳送門(mén)即可獲??!

柚子快報(bào)激活碼778899分享:Flutter 屏幕適配

http://yzkb.51969.com/

推薦閱讀

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/18920735.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄