最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

flutter 實現(xiàn)多布局列表的示例代碼

 更新時間:2020年02月02日 12:04:11   作者:泰山123  
這篇文章主要介紹了flutter 實現(xiàn)多布局列表的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

閑來無事,寫個玩安卓的首頁,實現(xiàn)多布局、banner的效果。其中涉及知識點側滑,pageview 切換頁面,頁面跳轉傳值及回調數(shù)據(jù)(在側滑里)。這些都是基于自己學習做的demo。
當然還有很多瑕疵需要完善。

先看效果:

這里主要講解多布局,所以其他功能可以參考github
https://github.com/chentaishan/flutter_app

多布局功能代碼:

 @override
 void initState() {
  // TODO: implement initState
  super.initState();
  // 獲取網絡數(shù)據(jù) 一個banner 一個列表
  initBannerData();
  initHomeList();
 }

 @override
 Widget build(BuildContext context) {
  Widget itemColor = Divider(
   color: Colors.blue,
  );
  Widget nullColor = Divider(
   color: Colors.white,
  );
  return ListView.separated(
   itemCount: _homeListBeanEntity.data.datas.length,
   itemBuilder: (BuildContext context, int index) {
   // 根據(jù)規(guī)則,抽取banner方法和listitem
    return _bannerBeanData != null && _bannerBeanData.data.length > 0&&index==0
      ? bannerItem(_bannerBeanData)
      : listItem(_homeListBeanEntity, index);
   },
   separatorBuilder: (BuildContext context, int index) {
    return index > 0 ? itemColor : nullColor;
   },
  );
 }

void initBannerData() async {
  result = await getNetWorkData("https://www.wanandroid.com/banner/json");

  print("list=" + result);

  if (result.toString().length > 0) {
   BannerBeanEntity bannerBeanEntity =
     BannerBeanEntity.fromJson(json.decode(result));
   if (bannerBeanEntity != null) {
    setState(() {
     _bannerBeanData = bannerBeanEntity;
    });
   }
  }
 }

getNetWorkData(String url) async {
  var uri = Uri.parse(url);

  HttpClient httpClient = new HttpClient();

  HttpClientRequest request = await httpClient.getUrl(uri);

  HttpClientResponse httpClientResponse = await request.close();

  var str = await httpClientResponse.transform(utf8.decoder).join();

  print(httpClientResponse.toString());

  return str;
 }
 void initHomeList() async {

  result =await getNetWorkData("https://www.wanandroid.com/article/list/0/json");

  print("list=" + result);

  if (result.toString().length > 0) {
   HomeListBeanEntity homeListBeanEntity =
     HomeListBeanEntity.fromJson(json.decode(result));
   if (homeListBeanEntity != null) {
    setState(() {
     _homeListBeanEntity = homeListBeanEntity;
    });
   }
  }
 }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

永安市| 从江县| 怀宁县| 呼图壁县| 祥云县| 体育| 社会| 阿拉善左旗| 桦川县| 扶余县| 广元市| 陆良县| 九龙坡区| 双峰县| 江陵县| 哈密市| 邻水| 即墨市| 柳林县| 瓮安县| 五华县| 绥芬河市| 清涧县| 寿光市| 登封市| 油尖旺区| 清镇市| 克东县| 周口市| 盖州市| 莲花县| 左云县| 青岛市| 盐津县| 营口市| 蚌埠市| 蕲春县| 襄垣县| 伊金霍洛旗| 高雄县| 临武县|