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

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

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

一、需求來源

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

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

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

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

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

定義枚舉 PageViewScrollType

/// PageView 滾動方式
enum PageViewScrollType {
  /// 整屏滑動
  full,
  /// 拖拽滑動
  drag,
  /// 禁用滑動
  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)化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

平潭县| 滁州市| 扶绥县| 池州市| 北宁市| 鄂伦春自治旗| 遵化市| 濉溪县| 定边县| 安乡县| 德钦县| 图片| 新蔡县| 黔东| 临朐县| 米脂县| 南郑县| 越西县| 襄樊市| 丘北县| 雷波县| 扶沟县| 乌兰察布市| 涡阳县| 大兴区| 读书| 祁门县| 根河市| 改则县| 高密市| 保德县| 合江县| 阳春市| 浏阳市| 宁明县| 连城县| 日土县| 乌拉特前旗| 汉中市| 正镶白旗| 中江县|