這篇文章主要講解了flutter實現(xiàn)app整體灰色效果的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
成都創(chuàng)新互聯(lián)是一家網(wǎng)站制作、網(wǎng)站建設(shè),提供網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,網(wǎng)站制作,建網(wǎng)站,按需設(shè)計網(wǎng)站,網(wǎng)站開發(fā)公司,自2013年起是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶品牌價值為核心業(yè)務(wù),全程參與項目的網(wǎng)站策劃設(shè)計制作,前端開發(fā),后臺程序制作以及后期項目運營并提出專業(yè)建議和思路。
Flutter 是 Google 開源的 UI 工具包,幫助開發(fā)者通過一套代碼庫高效構(gòu)建多平臺精美應(yīng)用,支持移動、Web、桌面和嵌入式平臺。Flutter 開源、免費,擁有寬松的開源協(xié)議,適合商業(yè)項目。
舉國哀悼, 進入各種大廠的app也可以看到主色都變成灰色的了
作為程序員我們肯定會想怎么可以實現(xiàn)的, 我簡單研究了10分鐘, flutter中只要在整體外面套一個ShaderMask,
然后修改blendMode
即可
核心代碼:
class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return ShaderMask( child: OKToast( child: MaterialApp( title: 'Pick Image Demo', theme: ThemeData( primarySwatch: Colors.lime, ), home: MyHomePage(title: 'Pick Image Demo'), ), ), shaderCallback: (Rect bounds) { return ui.Gradient.linear(Offset.zero, Offset(bounds.width, bounds.height), [Colors.grey, Colors.grey]); }, // blendMode: BlendMode.dst, blendMode: BlendMode.saturation, ); } }
在最外層套一個ShaderMask,
然后返回一個shader就可以了, 這里我用的是漸變的Gradient ,還有別的方式可以用
效果:
之前:
[文件]
之后:
看完上述內(nèi)容,是不是對flutter實現(xiàn)app整體灰色效果的方法有進一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。