Flutter 仿滴滴出行App

綠色出行

Flutter 仿滴滴出行App
地圖:采用高德地圖,僅簡單完成了部分功能,基礎(chǔ)地圖,地址檢索,逆地理編碼。
界面:仿滴滴主界面,地圖中心請求動效果,服務tabs展開效果,地址檢索界面,城市列表界面。
項目結(jié)構(gòu):詳見作者另外一個Flutter完整項目flutter_wanandroid。??????
目前本項目僅部分開源~
已開源內(nèi)容:
1、Dart漢字轉(zhuǎn)拼音庫 lpinyin
2、城市列表,索引&懸停效果 AzListView
3、也許是目前最好用的Sp工具類 SpUtil
4、也許是目前最好用的屏幕工具類 ScreenUtil
5、國際化 fluintl
6、Dart常用工具類庫 common_utils

lpinyin

import 'package:lpinyin/lpinyin.dart';
  
String pinyin = PinyinHelper.getPinyin("成都市");

AzListView

import 'package:azlistview/azlistview.dart';
  
AzListView(
      {Key key,
      this.data,
      this.topData,
      this.itemBuilder,
      this.suspensionWidget,
      this.isUseRealIndex: true,
      this.itemHeight: 50,
      this.suspensionHeight: 40,
      this.onSusTagChanged,
      this.header,
      this.indexBarBuilder,
      this.indexHintBuilder,
      this.showIndexHint: true});  

SpUtil

詳細使用請參考倉庫說明。

import 'package:flustars/flustars.dart';  
  
// App啟動時讀取Sp數(shù)據(jù),需要異步等待Sp初始化完成。
await SpUtil.getInstance();

SpUtil.getString('key', defValue: '');
SpUtil.getInt('key', defValue: 0);
  
/// save object example.
/// 存儲實體對象示例。
City city = new City();
city.name = "成都市";
SpUtil.putObject("loc_city", city);
  
Map dataStr = SpUtil.getObject("loc_city");
City hisCity = dataStr == null ? null : City.fromJson(dataStr);
print("thll Str: " + (hisCity == null ? "null" : hisCity.toString()));
  
/// save object list example.
/// 存儲實體對象List示例。
List<City> list = new List();
list.add(new City(name: "成都市"));
list.add(new City(name: "北京市"));
SpUtil.putObjectList("loc_city_list", list);
  
List<Map> dataList = SpUtil.getObjectList("loc_city_list");
List<City> _cityList = dataList?.map((value) {
  return City.fromJson(value);
})?.toList();

print("thll List: " + (_cityList == null ? "null" : _cityList.toString()));    

ScreenUtil

詳細使用請參考倉庫說明。

import 'package:flustars/flustars.dart';  
  
// 如果設(shè)計稿尺寸默認配置一致,無需該設(shè)置。  配置設(shè)計稿尺寸 默認 360.0 / 640.0 / 3.0  
setDesignWHD(_designW,_designH,_designD);  

// 不依賴context  
// 屏幕寬  
double screenWidth = ScreenUtil.getInstance().screenWidth;  
// 根據(jù)屏幕寬適配后尺寸  
double adapterW100 = ScreenUtil.getInstance().getWidth(100);  

// 依賴context  
// 屏幕寬  
double screenWidth = ScreenUtil.getScreenW(context);  
// 根據(jù)屏幕寬適配后尺寸  
double adapterW100 = ScreenUtil.getScaleW(context, 100);  

fluintl

詳細使用請參考倉庫說明。

import 'package:fluintl/fluintl.dart';  
  
/// 替換字符串格式要求:'%\${index}\$s' ,{index} 第幾個參數(shù),從0開始。

Ids.click_times: '%\$0\$s點擊了%\$1\$s次';   
   
IntlUtil.getString(context, Ids.click_times, params: ['Tom', '$_counter']);  
/// print: Tom點擊了0次

/// 字符串獲取
IntlUtil.getString(context, Ids.titleHome);
IntlUtil.getString(context, Ids.titleHome, params: [param1, param2]); 
CustomLocalizations.of(context).getString(Ids.titleHome);

Screenshot

引導頁

啟動頁

主界面

首頁地圖

地址檢索

城市列表

關(guān)于作者

GitHub : Sky24n
簡書 ????: Sky24n
掘金 ????: Sky24n
Pub ?????: Sky24n

關(guān)于App

GitHub : GreenTravel

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 自己總結(jié)的Android開源項目及庫。 github排名https://github.com/trending,g...
    passiontim閱讀 2,765評論 1 26
  • 想找一名筆友,互相書信,傾訴心事,不在彼此的生活,不知對方的模樣,長久往來,享受寄出信時的明朗,亦享受盼回信時的急...
    懶梳妝閱讀 177評論 0 0
  • 我喜歡一個人 每次都希望在學校能看見他 即使沒有課 舍友都在宿舍 我也會一個人在學校溜達 就是想著能遇見 可是啊 ...
    太胖飛不起來閱讀 196評論 0 1
  • 帥的一臉血的羊毛外套,是最經(jīng)得起時間考驗的單品了。無論是早晚溫差或冬日混搭,百搭又耐穿,我們還可以偷穿男朋友ove...
    ParisHe倩倩閱讀 201評論 0 0

友情鏈接更多精彩內(nèi)容