欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flutter 實(shí)現(xiàn)進(jìn)度條效果

 更新時(shí)間:2020年05月18日 14:59:37   作者:動(dòng)噠  
在一些上傳頁(yè)面炫酷的進(jìn)度條效果都是怎么實(shí)現(xiàn)的,今天小編通過(guò)本文給大家分享Flutter 一行代碼快速實(shí)現(xiàn)你的進(jìn)度條效果,感興趣的朋友一起看看吧

用flutter開(kāi)發(fā)的項(xiàng)目,最大的好處除了跨平臺(tái)之外,還有一點(diǎn)就是插件多,便于很多功能的實(shí)現(xiàn)。

畫(huà)風(fēng)(話鋒)一轉(zhuǎn),老子說(shuō),事物都有兩面性,物極必反。插件多是多,插件帶來(lái)的問(wèn)題也是不容小覷,總結(jié)下,插件帶來(lái)的幾大問(wèn)題。

(1)插件更新不及時(shí)

插件更新不及時(shí),會(huì)導(dǎo)致我們連編譯都過(guò)不去,甚至要去改插件的原生代碼,這個(gè)時(shí)候,我們可能會(huì)自己創(chuàng)建一個(gè)github插件,然后直接引用自己的github插件地址,算了,真不靠譜的插件作者!千言萬(wàn)語(yǔ)盡在不言中。。。

(2)插件沖突

插件沖突,有的時(shí)候是配置沖突,比如經(jīng)常遇到的android:resource="@xml/filepaths"/>
同樣是在manifest里面,有的插件配置的是filepaths,有的為file_paths,這個(gè)也挺痛苦的。

(3)包體積

插件用多了,包體積自然就大了,用戶一看這么大的包,下載半天,算了,當(dāng)然5G來(lái)了咱就另說(shuō)了。

話不多說(shuō),解決之道,就4個(gè)字:少用插件。

比如進(jìn)度條插件,之前我還用modal_progress_hud: ^0.1.3,發(fā)現(xiàn)沒(méi)必要,flutter本來(lái)就有LinearProgressIndicator,用來(lái)做進(jìn)度顯示的。干掉干掉。

上代碼:

LinearProgressIndicator(
 value: 0.3,
 valueColor: AlwaysStoppedAnimation<Color>(Colors.red),
 backgroundColor: Colors.blue,
),

其中,value為進(jìn)度值,valueColor為已經(jīng)進(jìn)行的進(jìn)度顏色,backgroundColor就是還沒(méi)到的那段進(jìn)度的顏色咯。

不要著急,上個(gè)完整的例子,給你們看效果。

import 'package:flutter/material.dart';

class ProgressDemo extends StatefulWidget {
 ProgressDemo({Key key}) : super(key: key);

 @override
 _ProgressDemoState createState() => _ProgressDemoState();
}

class _ProgressDemoState extends State<ProgressDemo> {
 @override
 Widget build(BuildContext context) {
 return Scaffold(
  appBar: AppBar(
  title: Text('flutter progress demo'),
  ),
  body: Container(
  margin: EdgeInsets.only(top: 20),
  alignment: Alignment.topCenter,
  child: FlatButton(
   child: Text('進(jìn)度'),
   color: Colors.blue,
   onPressed: () {
   return showDialog(context: context, builder: (context) {
    return AlertDialog(
    backgroundColor: Colors.transparent,
    title: Text('上傳中...'),
    content: LinearProgressIndicator(
     value: 0.3,
     valueColor: AlwaysStoppedAnimation<Color>(Colors.red),
     backgroundColor: Colors.blue,
    ),
    shape: RoundedRectangleBorder(
     borderRadius: BorderRadius.all(Radius.circular(10))
    ),
    );
   },);
   },
  ),
  ),
 );
 }
}

好了,效果如下:

400.png

總結(jié)

到此這篇關(guān)于Flutter 一行代碼快速實(shí)現(xiàn)你的進(jìn)度條的文章就介紹到這了,更多相關(guān)Flutter 一行代碼快速實(shí)現(xiàn)你的進(jìn)度條內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論