资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

包含flutterenum的词条

Dart 枚举原始值指定问题 及 原始值与枚举值转换问题

最近在看尝试Flutter,在开发时打算用枚举标示5个常用的按键KeyCode,因为就值关系特定几个KeyCode,所以打算仅设定5个枚举值,并且指定其原始值为其int值。但是我发现没办法指定这个int值。

创新互联专注于企业全网营销推广、网站重做改版、平江网站定制设计、自适应品牌网站建设、H5网站设计电子商务商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为平江等各大城市提供网站开发制作服务。

Dart语言的枚举不支持指定原始值,比如下面这种方式:

这样一来,如果想使枚举值有一个比较大的原始值,就只能使用本文件中KeyCode这种方式。一般如下:

但是如果我只想用Brown到Pink颜色这几种颜色,并且其原始值在100以上呢?比如键盘KeyCode☹️就有好多。

另外Dart语言枚举值到原始值的转换,直接取其index即可:

但却不支持从int原始值转换为枚举值,比如下面这种方式:

但enum提供了一个values属性,比如上面枚举有:

Color.values是一个有序数组,其下标和该位置的Color枚举值的原始值相等。

所以,如果一个枚举满足:1. 从零开始,2. 各个值密集排布,(Dart肯定满足,因为没办法指定原始值),

则可以通过下面方式实现原始值到枚举值的转换:

参考:

高德地图 flutter 报LocationManager:doRequireLocationAuth错误

在flutter中使用高德地图,突然报如标题的错误,一开始我以为是plist文件没有加位置授权,一检查发现权限都有,想着以前这定位都正常的,应该是改了其他地方引起定位不了的,一一对比,是我permission_handler这个插件升级了,升级后ios这边要在podfile文件下加一下权限配置

target.build_configurations.eachdo |config|

# You can remove unused permissions here

# for more infomation:

# e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0'

config.build_settings['GCC_PREPROCESSOR_DEFINITIONS']||= [

'$(inherited)',

## dart: PermissionGroup.calendar

    'PERMISSION_EVENTS=1',

## dart: PermissionGroup.reminders

    'PERMISSION_REMINDERS=1',

## dart: PermissionGroup.contacts

    'PERMISSION_CONTACTS=1',

## dart: PermissionGroup.camera

    'PERMISSION_CAMERA=1',

## dart: PermissionGroup.microphone

    'PERMISSION_MICROPHONE=1',

## dart: PermissionGroup.speech

    'PERMISSION_SPEECH_RECOGNIZER=1',

## dart: PermissionGroup.photos

    'PERMISSION_PHOTOS=1',

## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]

    'PERMISSION_LOCATION=1',

## dart: PermissionGroup.notification

    'PERMISSION_NOTIFICATIONS=1',

## dart: PermissionGroup.mediaLibrary

    'PERMISSION_MEDIA_LIBRARY=1',

## dart: PermissionGroup.sensors

    'PERMISSION_SENSORS=1',

## dart: PermissionGroup.bluetooth

#        'PERMISSION_BLUETOOTH=1',

## dart: PermissionGroup.appTrackingTransparency

    'PERMISSION_APP_TRACKING_TRANSPARENCY=1',

## dart: PermissionGroup.criticalAlerts

    'PERMISSION_CRITICAL_ALERTS=1',

]

end


名称栏目:包含flutterenum的词条
文章URL:http://www.cdkjz.cn/article/dsdsgjh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220