主頁 > 軟體設計 > Flutter)我想知道如何將相同的滾動應用于ListView中的子小部件串列

Flutter)我想知道如何將相同的滾動應用于ListView中的子小部件串列

2022-05-24 15:54:42 軟體設計

(我稍微修改了內容,ExpansionTile => GridView)

我正在創建一個包含許多 GridView 小部件的 ListView。這樣做的問題是 ListView 具有垂直滾動,但它不適用于 ListView 中的 GridView Widget。ListView 中的滾動僅適用于空白空間,不適用于子視窗小部件的區域。

            Container(
              height: size!.height * 0.6,
              padding: EdgeInsets.all(common_padding),
              decoration: BoxDecoration(
                border: Border.all(
                  color: Colors.grey,
                  width: 0.7,
                ),
                borderRadius: BorderRadius.all(
                  Radius.circular(10),
                ),
              ),
              child: ListView(
                children: [
                  // GridView.builder() .... // many widgets
                ]
             ),
           )

我的代碼簡要如上。如何將滾動應用到串列視圖中的子小部件?

uj5u.com熱心網友回復:

使用shrinkWrap: truephysics: const NeverScrollableScrollPhysics(),為 ListView.builder

試試這個例子:

import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
  const HomeScreen({Key? key}) : super(key: key);

  @override
  State<HomeScreen> createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView.builder(
        itemCount: 30,
        shrinkWrap: true,
        itemBuilder: (BuildContext context, findex) {
          return ExpansionTile(
            key: Key(findex.toString()),
            title: const Text("title",
              style: TextStyle(fontSize: 15.0, fontWeight: FontWeight.bold,color: Colors.black),
            ),
            children: [
              ListView.builder(
                itemCount: 10,
                shrinkWrap: true,
                physics: const NeverScrollableScrollPhysics(),
                itemBuilder: (BuildContext context, sindex) {
                  return const ListTile(
                    title: Text(
                      "user tierl",
                      style: TextStyle(fontSize: 15.0, fontWeight: FontWeight.bold,color: Colors.black),
                    ),
                  );
                },
              ),
            ],
          );
        },
      ),
    );
  }
}

uj5u.com熱心網友回復:

我不明白擴展小部件是什么意思,但是您應該將串列中的每個專案逐一堆疊,而不是將所有專案打包在一個小部件中。例如,根據您的代碼,

  MaterialApp(
      home: Scaffold(
        body: Container(
          height: double.infinity,
          padding: EdgeInsets.all(15),
          decoration: BoxDecoration(
            border: Border.all(
              color: Colors.grey,
              width: 0.7,
            ),
            borderRadius: BorderRadius.all(
              Radius.circular(10),
            ),
          ),
          child: ListView(children: [

//putting each item one by one
            Container(
              height: 500,
              color: Colors.blue,
            ),
            Container(
              height: 500,
              color: Colors.green,
            ),
            Container(
              height: 500,
              color: Colors.red,
            ),
            Container(
              height: 500,
              color: Colors.yellow,
            ),
          ]),
        ),
      ),
    );

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/480806.html

標籤:安卓 IOS

上一篇:以編程方式呈現VC

下一篇:返回列表

標籤雲
其他(140642) Python(33571) JavaScript(21306) Java(15659) C(13889) 區塊鏈(8222) AI(7469) C#(6629) 基礎類(6313) 爪哇(6271) MySQL(6175) html(5712) 熊猫(5292) sql(5243) PHP(5161) 腳本語言(PerlPython)(5129) 非技術區(4971) Linux(4838) 数组(4753) R(4616) Android(4340) 反应(4271) 数据框(3701) css(3644) 节点.js(3358) C語言(3288) C++語言(3117) json(2805) Java相關(2746) 列表(2699) 疑難問題(2699) 扑(2600) 安卓(2589) VBA(2513) 單片機工控(2479) 打字稿(2474) 细绳(2179) ASP.NET(2129) iOS(2090) MongoDB(1982) Web開發(1951) 字典(1928) 麻木的(1902) 正则表达式(1891) 循环(1883) 擅长(1830) 镖(1819) 網絡通信(1793) 迅速(1785) 蟒蛇-3.x(1774) 數據庫相關(1767) VB基礎類(1755) .NETCore(1740) Unity3D(1689) 功能(1663) C++(1660) 開發(1646) .NET技术(1638) 系統維護與使用區(1617) HtmlCss(1594)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布