快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

包含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://6mz.cn/article/dsdsgjh.html

其他资讯