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

Flutter?GridView顯示隨機單詞效果

 更新時間:2022年03月23日 11:17:58   作者:偉雪無痕  
這篇文章主要為大家詳細介紹了Flutter?GridView顯示隨機單詞效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Flutter GridView顯示隨機單詞的具體代碼,供大家參考,具體內(nèi)容如下

一.Flutter GridView屬性及構(gòu)建方法介紹

1.SliverGridDelegateWithFixedCrossAxisCount構(gòu)建固定數(shù)量的Widget

gridDelegate = SliverGridDelegateWithFixedCrossAxisCount(
? ? ? ? ?crossAxisCount: crossAxisCount, //設(shè)置每行個數(shù)
? ? ? ? ?mainAxisSpacing: mainAxisSpacing, //設(shè)置上下間隙
? ? ? ? ?crossAxisSpacing: crossAxisSpacing, //設(shè)置水平間隙
? ? ? ? ?childAspectRatio: childAspectRatio, //來設(shè)置寬高比例
? ? ? ?),

1).GridView.custom構(gòu)建

GridView.custom(
? ? ? ? ? gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
? ? ? ? ? ? crossAxisCount: 2, mainAxisSpacing: 10.0, crossAxisSpacing: 20.0, ),
? ? ? ? ? childrenDelegate: SliverChildBuilderDelegate((context, position) {
? ? ? ? ? ? return getItemContainer(datas[position].asPascalCase);
? ? ? ? ? }, childCount: datas.length))

2).GridView.builder構(gòu)建

GridView.builder(
? ? ? ? ? itemCount: datas.length,
? ? ? ? ? gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
? ? ? ? ? ? ? crossAxisCount: 2,
? ? ? ? ? ? ? mainAxisSpacing: 20.0,
? ? ? ? ? ? ? crossAxisSpacing: 10.0,
? ? ? ? ? ? ? childAspectRatio: 1.0),
? ? ? ? ? ? ? itemBuilder: (BuildContext context, int index) {
? ? ? ? ? ? ? ? return getItemContainer(datas[index]);
? ? ? ? ? }),

2.  GridView.count屬性及構(gòu)建

GridView.count({
? ? Key? key,
? ? Axis scrollDirection = Axis.vertical, //設(shè)置滾動方向
? ? bool reverse = false,
? ? ScrollController? controller,
? ? bool? primary,
? ? ScrollPhysics? physics,
? ? bool shrinkWrap = false,
? ? EdgeInsetsGeometry? padding,
? ? required int crossAxisCount, //設(shè)置每行個數(shù)
? ? double mainAxisSpacing = 0.0,//設(shè)置上下間隙
? ? double crossAxisSpacing = 0.0, //設(shè)置水平間隙
? ? double childAspectRatio = 1.0, //來設(shè)置寬高比例
? ? bool addAutomaticKeepAlives = true,
? ? bool addRepaintBoundaries = true,
? ? bool addSemanticIndexes = true,
? ? double? cacheExtent,
? ? List<Widget> children = const <Widget>[],
? ? int? semanticChildCount,
? ? DragStartBehavior dragStartBehavior = DragStartBehavior.start,
? ? ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual,
? ? String? restorationId,
? ? Clip clipBehavior = Clip.hardEdge,
? })
GridView.count(
? ? ? ? crossAxisSpacing: 10.0,//水平子Widget之間間距
? ? ? ? mainAxisSpacing: 20.0,//垂直子Widget之間間距
? ? ? ? padding: const EdgeInsets.all(10.0),//GridView內(nèi)邊距
? ? ? ? crossAxisCount: 2,//行的Widget數(shù)量
? ? ? ? childAspectRatio: 2.0,//子Widget寬高比例
? ? ? ? children: getWidgetList()//子Widget列表
? ? ? ),

二.demo展示

import 'package:english_words/english_words.dart';
import 'package:flutter/material.dart';
?
class GridViewPage extends StatefulWidget{
? const GridViewPage({Key? key}) : super(key: key);
?
? @override
? State<StatefulWidget> createState()=>GridViewPageStae();
?
}
?
class GridViewPageStae extends State<GridViewPage>{
? @override
? Widget build(BuildContext context) {
? ? //final _suggestions=<WordPair>[];
? ? List<WordPair> datas =generateWordPairs().take(100).toList();
? ? return Scaffold(
? ? ? appBar: AppBar(
? ? ? ? title: Text('Gridview test'),
? ? ? ),
? ? ? body:/*GridView.custom(
? ? ? ? ? gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
? ? ? ? ? ? crossAxisCount: 2, mainAxisSpacing: 10.0, crossAxisSpacing: 20.0, ),
? ? ? ? ? childrenDelegate: SliverChildBuilderDelegate((context, position) {
? ? ? ? ? ? return getItemContainer(datas[position].asPascalCase);
? ? ? ? ? }, childCount: datas.length))*/
? ? ?/* GridView.count(
? ? ? ? crossAxisSpacing: 10.0,//水平子Widget之間間距
? ? ? ? mainAxisSpacing: 20.0,//垂直子Widget之間間距
? ? ? ? padding: const EdgeInsets.all(10.0),//GridView內(nèi)邊距
? ? ? ? crossAxisCount: 2,//行的Widget數(shù)量
? ? ? ? childAspectRatio: 2.0,//子Widget寬高比例
? ? ? ? children: getWidgetList()//子Widget列表
? ? ? ),*/
? ? ? GridView.builder(
? ? ? ? ? itemCount: datas.length,
? ? ? ? ? gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
? ? ? ? ? ? ? crossAxisCount: 2,
? ? ? ? ? ? ? mainAxisSpacing: 20.0,
? ? ? ? ? ? ? crossAxisSpacing: 10.0,
? ? ? ? ? ? ? childAspectRatio: 1.0),
? ? ? ? ? ? ? itemBuilder: (BuildContext context, int index) {
? ? ? ? ? ? ? ? return getItemContainer(datas[index]);
? ? ? ? ? }),
? ? );
?
? }
?
? List<WordPair> getDataList() {
? ? List<WordPair> datas =generateWordPairs().take(100).toList();
? ? return datas;
? }
?
? List<Widget> getWidgetList() {
? ? return getDataList().map((item) => getItemContainer(item)).toList();
? }
?
? Widget getItemContainer(WordPair item) {
? ? return Container(
? ? ? alignment: Alignment.center,
? ? ? //width: 50.0,
? ? ? //height: 50.0,
? ? ? child: Text(
? ? ? ? item.asPascalCase,
? ? ? ? style: const TextStyle(color: Colors.white, fontSize: 18),
? ? ? ),
? ? ? color: Colors.lightGreen,
? ? );
? }
?
}

三.實際效果

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

相關(guān)文章

  • 如何從外部瀏覽開啟Android App

    如何從外部瀏覽開啟Android App

    從瀏覽器中點擊某個按鈕,如果手機上裝有相應(yīng)的app,則直接開啟app,并且到相對的頁面。如果沒有裝該app,則會到相應(yīng)的下載app的界面。這樣的功能怎么實現(xiàn)呢,本文帶著大家來看看如何實現(xiàn)。
    2021-06-06
  • 詳解Android Dialog對話框的五種形式

    詳解Android Dialog對話框的五種形式

    這篇文章主要為大家詳細介紹了Android對話框的五種形式,一般對話框,列表對話框,單選按鈕對話框,多選按鈕對話框,自定義對話框,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 淺談Android Activity與Service的交互方式

    淺談Android Activity與Service的交互方式

    下面小編就為大家?guī)硪黄獪\談Android Activity與Service的交互方式。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Android自定義狀態(tài)欄顏色與應(yīng)用標題欄顏色一致

    Android自定義狀態(tài)欄顏色與應(yīng)用標題欄顏色一致

    看IOS上的應(yīng)用,應(yīng)用中狀態(tài)欄的顏色總能與應(yīng)用標題欄顏色保持一致,用戶體驗很不錯,對于這種效果怎么實現(xiàn)的呢?下面小編給大家分享android自定義狀態(tài)欄顏色與應(yīng)用標題欄顏色一致的實現(xiàn)方法,一起看看吧
    2016-09-09
  • Android中用onSaveInstanceState保存Fragment狀態(tài)的方法

    Android中用onSaveInstanceState保存Fragment狀態(tài)的方法

    這篇文章主要介紹了Android中用onSaveInstanceState保存Fragment狀態(tài)的方法,onSaveInstanceState可以將數(shù)據(jù)保存在Fragment或Activity中,需要的朋友可以參考下
    2016-04-04
  • 談?wù)凙ndroid開發(fā)之RecyclerView的使用全解

    談?wù)凙ndroid開發(fā)之RecyclerView的使用全解

    這篇文章主要介紹了談?wù)凙ndroid開發(fā)之RecyclerView的使用全解,非常具有實用價值,需要的朋友可以參考下。
    2016-12-12
  • Android自定義View實現(xiàn)柱狀波形圖的繪制

    Android自定義View實現(xiàn)柱狀波形圖的繪制

    柱狀波形圖是一種常見的圖形。一個個柱子按順序排列,構(gòu)成一個波形圖。本文將利用Android自定義View實現(xiàn)柱狀波形圖的繪制,需要的可以參考一下
    2022-08-08
  • Android登錄的簡單處理

    Android登錄的簡單處理

    這篇文章主要介紹了Android登錄的簡單處理,一個簡易的Demo模擬登錄情況和未登錄情況下的界面跳轉(zhuǎn)處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Kotlin協(xié)程開發(fā)之Flow的融合與Channel容量及溢出策略介紹

    Kotlin協(xié)程開發(fā)之Flow的融合與Channel容量及溢出策略介紹

    這篇文章主要介紹了Kotlin協(xié)程:Flow的融合、Channel容量、溢出策略,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-09-09
  • Android手機獲取Mac地址的幾種方法

    Android手機獲取Mac地址的幾種方法

    今天小編就為大家分享一篇關(guān)于Android手機獲取Mac地址的幾種方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02

最新評論