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

Flutter中ListView 的使用示例

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

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

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

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

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

功能實現(xiàn)

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

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

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

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

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編寫

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>[
//     電影名稱
     Text(
      subject['title'],
      style: TextStyle(
      fontWeight: FontWeight.bold,
      fontSize: 20.0,
      ),
      maxLines: 1,
     ),
//     豆瓣評分
     Text(
      '豆瓣評分:${subject['rating']['average']}',
      style: TextStyle(
       fontSize: 16.0
      ),
     ),
//     類型
     Text(
      "類型:${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,
 );
 }

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

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

相關(guān)文章

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

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

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

    Flutter圖片與文件選擇器使用實例

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

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

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

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

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

    詳細分析Android-Zygote的啟動過程

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

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

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

    Android中Activity的生命周期探討

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

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

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

    Android OkHttp的簡單使用和封裝詳解

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

    Flutter?中檢測常用的命令詳解

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

最新評論