flutter實現(xiàn)仿boss直聘功能
Flutter是Google使用Dart語言開發(fā)的移動應用開發(fā)框架,使用一套Dart代碼就能構(gòu)建高性能、高保真的iOS和Android應用程序,并且在排版、圖標、滾動、點擊等方面實現(xiàn)零差異。
2年前,RN剛出來時做了個仿拉鉤的demo,react-native-lagou.
這次flutter來了,想感受一下,索性用目前flutter的版本寫的一個仿boss直聘應用。
時間有限,沒完全仿照,去掉了一些功能,但是界面風格一致,有參考價值。
github地址:flutter仿boss直聘.
感悟
- 與一些文章里介紹的非常相似,如果會RN,那么學起來會很快,flutter借鑒了RN的組件化思想,路由機制,狀態(tài)機等。
- Dart語法有些奇葩,但掌握之后,開發(fā)效率會很快,整個demo加起來開發(fā)了2天不到。
- 可以同時在android和ios運行。
- 性能很快,超過RN,因為沒有bridge層。
- 還是要多看官方文檔和源碼,才能碰到問題解決。
- IDE還不是很友好,hot reload有時無效。
- 還是比RN要復雜一些的。
先上效果

部署到手機
確保flutter正確安裝之后,進入目錄運行flutter run --release
環(huán)境問題
如果flutter環(huán)境有問題,在.bash_profile里加上如下內(nèi)容
export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn export PATH=`pwd`/flutter/bin:$PATH
涉及技術(shù)點
1.Theme主題設置
theme: new ThemeData(
primaryIconTheme: const IconThemeData(color: Colors.white),
brightness: Brightness.light,
primaryColor: new Color.fromARGB(255, 0, 215, 198),
accentColor: Colors.cyan[300],
)
2.自定義TabBar
@override
Widget build(BuildContext context) {
assert(debugCheckHasMaterial(context));
double height = _kTextAndIconTabHeight;
Widget label = new Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
new Container(
child: new Image(
image: new AssetImage(this.icon),
height: 30.0,
width: 30.0,
),
margin: const EdgeInsets.only(bottom: _kMarginBottom),
),
_buildLabelText()
]
);
}
3.MD風格及一些組件應用
new SliverAppBar(
expandedHeight: _appBarHeight,
pinned: _appBarBehavior == AppBarBehavior.pinned,
floating: _appBarBehavior == AppBarBehavior.floating ||
_appBarBehavior == AppBarBehavior.snapping,
snap: _appBarBehavior == AppBarBehavior.snapping,
flexibleSpace: new FlexibleSpaceBar(
title: new Text(_company.name,
style: new TextStyle(color: Colors.white)),
background: new Stack(
fit: StackFit.expand,
children: <Widget>[
new Image.network(
'https://img.bosszhipin.com/beijin/mcs/chatphoto/20170725/861159df793857d6cb984b52db4d4c9c.jpg',
fit: BoxFit.cover,
height: _appBarHeight,
),
],
),
),
)
4.解決了官方demo里路由跳轉(zhuǎn)效果卡頓的問題
Navigator.of(context).push(new PageRouteBuilder(
opaque: false,
pageBuilder: (BuildContext context, _, __) {
return new CompanyDetail(company);
},
transitionsBuilder: (_, Animation<double> animation, __, Widget child) {
return new FadeTransition(
opacity: animation,
child: new SlideTransition(position: new Tween<Offset>(
begin: const Offset(0.0, 1.0),
end: Offset.zero,
).animate(animation), child: child),
);
}
))
TODO
- 下拉篩選組件
- mock server,模擬真實請求
- 分頁
- 目錄結(jié)構(gòu)調(diào)整,更符合生產(chǎn)環(huán)境
- viewpager輪播圖
- 路由機制封裝
總結(jié)
以上所述是小編給大家介紹的flutter實現(xiàn)仿boss直聘,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
基于Android FileProvider 屬性配置詳解及FileProvider多節(jié)點問題
這篇文章主要介紹了基于Android FileProvider 屬性配置詳解及FileProvider多節(jié)點問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Android 彈出Dialog時隱藏狀態(tài)欄和底部導航欄的方法
這篇文章主要介紹了Android 彈出Dialog時隱藏狀態(tài)欄和底部導航欄的實例代碼,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
Android 實現(xiàn)ViewPager邊界回彈效果實例代碼
這篇文章主要介紹了Android 實現(xiàn)ViewPager邊界回彈效果的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05
Android仿美團網(wǎng)、大眾點評購買框懸浮效果修改版
這篇文章主要為大家詳細介紹了Android仿美團網(wǎng)、大眾點評購買框懸浮效果的修改版,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
Android創(chuàng)建和使用數(shù)據(jù)庫SQLIte
這篇文章主要為大家詳細介紹了Android創(chuàng)建和使用數(shù)據(jù)庫SQLIte的相關資料,感興趣的小伙伴們可以參考一下2016-05-05
Android網(wǎng)絡開發(fā)中GET與POST請求詳解
這篇文章主要介紹了android實現(xiàn)網(wǎng)絡請求的get和post請求的簡單封裝與使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>2022-12-12

