flutter 다 중 레이아웃 목록 의 예제 코드 구현

할 일 없 이 안 드 로 이 드 를 하 는 첫 페이지 를 써 서 다 중 레이아웃,배 너 효 과 를 실현 합 니 다.그 중에서 지식 점 이 옆으로 미 끄 러 지고 pageview 가 페이지 를 전환 하 며 페이지 의 전송 값 과 리 셋 데이터(측면 에서 미 끄 러 짐)와 관련된다.이것들 은 모두 자신의 학습 에 기초 하여 만 든 demo 이다.
물론 보완 해 야 할 흠 도 많다.
먼저 효과 보기:


여 기 는 주로 다 중 레이아웃 을 설명 하기 때문에 다른 기능 은 github 를 참고 할 수 있 습 니 다.
https://github.com/chentaishan/flutter_app
다 중 레이아웃 기능 코드:

 @override
 void initState() {
  // TODO: implement initState
  super.initState();
  //          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) {
   //     ,  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;
    });
   }
  }
 }

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기