首页 > 软件编程 > Android > Flutter枚举值enum int互相转化

Flutter 枚举值enum和int互相转化总结

作者:SoaringHeart

这篇文章主要为大家介绍了Flutter 枚举值enum和int互相转化总结分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一、需求来源

工作中偶尔会用到枚举值和 int 的互相转化,今天总结一下;

二、搞清楚 Flutter 枚举属性和方法

三、实现需求(以 PageView 滚动方式为例)

枚举值转 int:在当前索引值后加 .index 即可(默认从 0 开始);

int 转枚举值:需要扩展枚举方法实现,实现如下;

定义枚举 PageViewScrollType

/// PageView 滚动方式
enum PageViewScrollType {
  /// 整屏滑动
  full,
  /// 拖拽滑动
  drag,
  /// 禁用滑动
  none,
extension PageViewScrollType_IntExt on int{
  /// int 转枚举
  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 转枚举
  PageViewScrollType get pageViewScrollType{
    final allCases = PageViewScrollType.values;
    // final index = this.clamp(0, allCases.length - 1);
    // return allCases[index];
    return this.toPageViewScrollType(true) ?? allCases.first;

如此就实现了 枚举值和 int的互相转化,打印如下:

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

//枚举值索引: 0

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

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

//int 转枚举: PageViewScrollType.full

以上就是Flutter 枚举值enum和int互相转化总结的详细内容,更多关于Flutter枚举值enum int互相转化的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
  • Retrofit网络请求框架之注解解析和动态代理
    Retrofit网络请求框架之注解解析和动态代理
    2023-03-03
  • Android 内核代码 wake_up源码解析
    Android 内核代码 wake_up源码解析
    2023-03-03
  • Android Coil对比Glide深入分析探究
    Android Coil对比Glide深入分析探究
    2023-02-02
  • Android OkHttp代理与路由的彻底理解
    Android OkHttp代理与路由的彻底理解
    2023-03-03
  • Android Flutter实现在多端运行的扫雷游戏
    Android Flutter实现在多端运行的扫雷游戏
    2023-03-03
  • Android Jetpack组件Lifecycle源码解析
    Android Jetpack组件Lifecycle源码解析
    2023-03-03
  • React Native之在Android上添加阴影的实现
    React Native之在Android上添加阴影的实现
    2023-03-03
  • Android使用Retrofit实现自定义Converter解析接口流程详解
    Android使用Retrofit实现自定义Converter解析接口流程详
    2023-03-03
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号