最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flutter 枚舉值enum和int互相轉(zhuǎn)化總結(jié)

 更新時(shí)間:2023年02月17日 14:08:43   作者:SoaringHeart  
這篇文章主要為大家介紹了Flutter 枚舉值enum和int互相轉(zhuǎn)化總結(jié)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一、需求來源

工作中偶爾會(huì)用到枚舉值和 int 的互相轉(zhuǎn)化,今天總結(jié)一下;

二、搞清楚 Flutter 枚舉屬性和方法

三、實(shí)現(xiàn)需求(以 PageView 滾動(dòng)方式為例)

枚舉值轉(zhuǎn) int:在當(dāng)前索引值后加 .index 即可(默認(rèn)從 0 開始);

int 轉(zhuǎn)枚舉值:需要擴(kuò)展枚舉方法實(shí)現(xiàn),實(shí)現(xiàn)如下;

定義枚舉 PageViewScrollType

/// PageView 滾動(dòng)方式
enum PageViewScrollType {
  /// 整屏滑動(dòng)
  full,
  /// 拖拽滑動(dòng)
  drag,
  /// 禁用滑動(dòng)
  none,
}
extension PageViewScrollType_IntExt on int{
  /// int 轉(zhuǎn)枚舉
  PageViewScrollType? toPageViewScrollType([bool isClamp = true]){
    final allCases = PageViewScrollType.values;
    if (!isClamp) {
      if (this < 0 || this > allCases.length - 1) {
        return null;
      }
      return allCases[this];
    }
    final index = this.clamp(0, allCases.length - 1);
    return allCases[index];
  }
  /// int 轉(zhuǎn)枚舉
  PageViewScrollType get pageViewScrollType{
    final allCases = PageViewScrollType.values;
    // final index = this.clamp(0, allCases.length - 1);
    // return allCases[index];
    return this.toPageViewScrollType(true) ?? allCases.first;
  }
}

最后

如此就實(shí)現(xiàn)了 枚舉值和 int的互相轉(zhuǎn)化,打印如下:

print("枚舉值索引: ${PageViewScrollType.full.index}");
print("枚舉值字符串: ${PageViewScrollType.drag.toString()}");
print("枚舉集合: ${PageViewScrollType.values}");
print("int 轉(zhuǎn)枚舉: ${0.toPageViewScrollType()}");

//枚舉值索引: 0

//枚舉值字符串: PageViewScrollType.drag

//枚舉集合: [ PageViewScrollType.full, PageViewScrollType.drag, PageViewScrollType.none ]

//int 轉(zhuǎn)枚舉: PageViewScrollType.full

以上就是Flutter 枚舉值enum和int互相轉(zhuǎn)化總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Flutter枚舉值enum int互相轉(zhuǎn)化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

水富县| 册亨县| 平原县| 阳西县| 新兴县| 淮北市| 西林县| 泰宁县| 镇平县| 日喀则市| 磐石市| 岐山县| 固阳县| 涟水县| 高密市| 马山县| 海丰县| 沅陵县| 峨眉山市| 呼伦贝尔市| 瓮安县| 中卫市| 天祝| 萝北县| 宁城县| 桦甸市| 新宾| 安国市| 民丰县| 子洲县| 阳东县| 兖州市| 瑞丽市| 桂林市| 涟水县| 泰州市| 精河县| 那坡县| 万载县| 元氏县| 元朗区|