中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flutter Widgets的ListWheelScrollView怎么使用

發布時間:2021-12-02 13:41:49 來源:億速云 閱讀:223 作者:iii 欄目:移動開發

這篇文章主要講解了“Flutter Widgets的ListWheelScrollView怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Flutter Widgets的ListWheelScrollView怎么使用”吧!

基礎用法

在展示大量數據的時候我們第一會想到使用ListView,如果你覺得ListView比較單一、枯燥,你可以使用ListWheelScrollView,ListWheelScrollView和ListView同源,但它的渲染效果類似于車輪(或者滾筒),它不是在平面上滑動,而是轉動車輪,先來看一波效果:

Flutter Widgets的ListWheelScrollView怎么使用

ListWheelScrollView的用法和ListView基本相同,基礎用法:

ListWheelScrollView(
      itemExtent: 150,
      children: <Widget>[
        ...
      ],
    );

children是子控件,itemExtent指定每一個Item的高度。

當有大量數據的時候這種方式明顯是不科學的,就像ListView.builder一樣,用法如下:

ListWheelScrollView.useDelegate(
      itemExtent: 150,
      childDelegate: ListWheelChildBuilderDelegate(
          builder: (context, index) {
            return Container(
              margin: EdgeInsets.symmetric(vertical: 10, horizontal: 30),
              color: Colors.primaries[index % 10],
              alignment: Alignment.center,
              child: Text('$index'),
            );
          },
          childCount: 100),
    );

調整直徑

ListWheelScrollView的渲染效果類似車輪,設置diameterRatio調整其直徑屬性:

ListWheelScrollView(
      itemExtent: 150,
      diameterRatio: 1,
      children: <Widget>[
        ...
      ],
    )

diameterRatio是圓筒直徑和主軸渲染窗口的尺寸的比,默認值是2,如果是垂直方向,主軸渲染窗口的尺寸是ListWheelScrollView的高。diameterRatio越小表示圓筒越圓。

調整perspective

perspective屬性表示圓柱投影透視圖,類似OpenGLES中透視投影,理解為看圓柱的距離,為0時表示從無限遠處看,1表示從無限近處看,值的范圍(0,0.01],注意是左開右閉區間,默認值是0.003,值越大,渲染效果越圓,用法如下:

ListWheelScrollView(
      itemExtent: 150,
      perspective: 0.003,
      children: <Widget>[
        ...
      ],
    );

offAxisFraction

offAxisFraction屬性表示車輪水平偏離中心的程度,用法如下:

ListWheelScrollView(
      itemExtent: 150,
      offAxisFraction: 13,
      children: <Widget>[

      ],
    );

offAxisFraction 的值從0到2的效果:

Flutter Widgets的ListWheelScrollView怎么使用

放大鏡

通過useMagnifiermagnification屬性實現放大鏡效果,useMagnifier是否啟用放大鏡,magnification屬性是放大倍率,用法如下:

ListWheelScrollView(
      itemExtent: 150,
      useMagnifier: true,
      magnification: 1.5,
      children: <Widget>[

      ],
    );

效果如下:

Flutter Widgets的ListWheelScrollView怎么使用

squeeze

squeeze屬性表示車輪上的子控件數量與在同等大小的平面列表上的子控件數量之比,例如,如果高度為100px,[itemExtent]為20px,那么5個項將放在一個等效的平面列表中。當squeeze為1時,RenderListWheelViewport中也會顯示5個子控件。當squeeze為2時,RenderListWheelViewport中將顯示10個子控件,默認值為1,用法如下:

ListWheelScrollView(
      itemExtent: 150,
      squeeze: 1,
      children: <Widget>[

      ],
    );

感謝各位的閱讀,以上就是“Flutter Widgets的ListWheelScrollView怎么使用”的內容了,經過本文的學習后,相信大家對Flutter Widgets的ListWheelScrollView怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙里县| 大姚县| 民县| 教育| 九龙县| 伊春市| 大荔县| 双峰县| 汨罗市| 兰坪| 南靖县| 武宣县| 安达市| 高密市| 霍邱县| 阳信县| 武鸣县| 永定县| 鲁山县| 凤台县| 八宿县| 湘阴县| 西峡县| 安远县| 烟台市| 正镶白旗| SHOW| 惠水县| 汨罗市| 衡水市| 云南省| 漳州市| 威信县| 翼城县| 常德市| 岚皋县| 长岭县| 当阳市| 霸州市| 介休市| 浦东新区|