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

Flutter中ListView 的使用示例

 更新時(shí)間:2018年07月27日 11:25:31   作者:劉斯龍  
這篇文章主要介紹了Flutter中ListView 的使用示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

這個(gè)小例子使用的是豆瓣 API 中 正在上映的電影 的開(kāi)放接口,要實(shí)現(xiàn)的主要效果如下:

JSON 數(shù)據(jù)結(jié)構(gòu)

Item 結(jié)構(gòu)

Item 的結(jié)構(gòu)是一個(gè) Card 包含著一個(gè) Row 然后這個(gè) Row 里面左邊是一個(gè) Image ,右邊是一個(gè) Column

功能實(shí)現(xiàn)

  1. material 庫(kù)
  2. Json 解析
  3. 網(wǎng)絡(luò)請(qǐng)求
  4. 加載菊花

要實(shí)現(xiàn)上面四個(gè)功能,我們首先需要在 .dart 文件中引入如下代碼

import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';

網(wǎng)絡(luò)請(qǐng)求

loadData() async {
 String loadRUL = "https://api.douban.com/v2/movie/in_theaters";
 http.Response response = await http.get(loadRUL);
 var result = json.decode(response.body);
 setState(() {
  title = result['title'];
  print('title: $title');
  subjects = result['subjects'];
 });
 }

ListView && 加載菊花

getBody() {
 if (subjects.length != 0) {
  return ListView.builder(
   itemCount: subjects.length,
   itemBuilder: (BuildContext context, int position) {
   return getItem(subjects[position]);
   });
 } else {
  // 加載菊花
  return CupertinoActivityIndicator();
 }
 }

Item編寫(xiě)

getItem(var subject) {
// 演員列表
 var avatars = List.generate(subject['casts'].length, (int index) =>
  Container(
   margin: EdgeInsets.only(left: index.toDouble() == 0.0 ? 0.0 : 16.0),

   child: CircleAvatar(
    backgroundColor: Colors.white10,
    backgroundImage: NetworkImage(
     subject['casts'][index]['avatars']['small']
    )
   ),
  ),
 );
 var row = Container(
  margin: EdgeInsets.all(4.0),
  child: Row(
  children: <Widget>[
   ClipRRect(
   borderRadius: BorderRadius.circular(4.0),
   child: Image.network(
    subject['images']['large'],
    width: 100.0, height: 150.0,
    fit: BoxFit.fill,
   ),
   ),
   Expanded(
    child: Container(
    margin: EdgeInsets.only(left: 8.0),
    height: 150.0,
    child: Column(
     crossAxisAlignment: CrossAxisAlignment.start,
     children: <Widget>[
//     電影名稱(chēng)
     Text(
      subject['title'],
      style: TextStyle(
      fontWeight: FontWeight.bold,
      fontSize: 20.0,
      ),
      maxLines: 1,
     ),
//     豆瓣評(píng)分
     Text(
      '豆瓣評(píng)分:${subject['rating']['average']}',
      style: TextStyle(
       fontSize: 16.0
      ),
     ),
//     類(lèi)型
     Text(
      "類(lèi)型:${subject['genres'].join("、")}"
     ),
//     導(dǎo)演
     Text(
      '導(dǎo)演:${subject['directors'][0]['name']}'
     ),
//     演員
     Container(
      margin: EdgeInsets.only(top: 8.0),
      child: Row(
      children: <Widget>[
       Text('主演:'),
       Row(
       children: avatars,
       )
      ],
      ),
     )
     ],
    ),
    )
   )
  ],
  ),
 );
 return Card(
  child: row,
 );
 }

主要代碼就是上述這些... 效果圖, 源碼地址

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android開(kāi)發(fā)實(shí)現(xiàn)錄屏小功能

    Android開(kāi)發(fā)實(shí)現(xiàn)錄屏小功能

    這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)錄屏小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Flutter圖片與文件選擇器使用實(shí)例

    Flutter圖片與文件選擇器使用實(shí)例

    這篇文章主要為大家介紹了Flutter圖片與文件選擇器使用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Android 分享控件的實(shí)現(xiàn)代碼

    Android 分享控件的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Android 分享控件的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Android中實(shí)現(xiàn)密碼的隱藏和顯示的示例

    Android中實(shí)現(xiàn)密碼的隱藏和顯示的示例

    本篇文章主要介紹了Android中實(shí)現(xiàn)密碼的隱藏和顯示的示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-09-09
  • 詳細(xì)分析Android-Zygote的啟動(dòng)過(guò)程

    詳細(xì)分析Android-Zygote的啟動(dòng)過(guò)程

    在Android系統(tǒng)中,所有的應(yīng)用程序進(jìn)程以及系統(tǒng)服務(wù)進(jìn)程SystemServer都是由Zygote進(jìn)程孕育(fork)出來(lái)的,這也許就是為什么要把它稱(chēng)為Zygote(受精卵)的原因吧。由于Zygote進(jìn)程在Android系統(tǒng)中有著如此重要的地位,本文將詳細(xì)分析它的啟動(dòng)過(guò)程
    2021-06-06
  • 分析Android 11.0Settings源碼之主界面加載

    分析Android 11.0Settings源碼之主界面加載

    這篇文章主要介紹了分析Android 11.0Settings源碼之主界面加載,對(duì)Android源碼感興趣的同學(xué),可以著重看一下
    2021-04-04
  • Android中Activity的生命周期探討

    Android中Activity的生命周期探討

    這篇文章主要介紹了Android中Activity的生命周期探討,本文同時(shí)講解了銷(xiāo)毀Activity、暫停與恢復(fù)、停止與重啟Activity等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • Android 使用Vitamio打造自己的萬(wàn)能播放器(1)——準(zhǔn)備

    Android 使用Vitamio打造自己的萬(wàn)能播放器(1)——準(zhǔn)備

    本文主要介紹Android Vitamio,在Android開(kāi)發(fā)視頻播放器的時(shí)候,大家經(jīng)常會(huì)遇到系統(tǒng)版本和不同的Android手機(jī)不同導(dǎo)致開(kāi)發(fā)的軟件不能完美適用,這里給大家介紹個(gè)播放器插件可以適應(yīng)所有Android設(shè)備
    2016-07-07
  • Android OkHttp的簡(jiǎn)單使用和封裝詳解

    Android OkHttp的簡(jiǎn)單使用和封裝詳解

    這篇文章主要介紹了Android OkHttp的簡(jiǎn)單使用和封裝詳解的相關(guān)資料,Android OKHttp的簡(jiǎn)單get、post的使用,再到它的封裝,需要的朋友可以參考下
    2016-12-12
  • Flutter?中檢測(cè)常用的命令詳解

    Flutter?中檢測(cè)常用的命令詳解

    這篇文章主要介紹了Flutter?中檢測(cè)常用的命令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08

最新評(píng)論