flutter 多语言配置--中文

flutter 多语言配置--中文,第1张

上一篇讲到如果解决ios长按输入框报错的问题,但是最终没有达到我们的要求,因为我们想实现中文的提示,那么本篇文章讲讲如何来实现多语言配置;

1首先在pubspecyaml的dependencies下加入这个

flutter_localizations:

  sdk: flutter

如图:

2然后在MaterialApp设置一下localizationsDelegates如图:

3写一个类继承一下CupertinoLocalizations,在项目中 我这个类名叫ChineseCupertinoLocalizations(没错,就是localizationsDelegates中的第三个),如图:

上次提到报错的原因就是因为cutButtonLabel,copyButtonLabel,pasteButtonLabel,selectAllButtonLabel 这几个按钮没有实现,所以继承CupertinoLocalizations一定要为这几个按钮赋值,这里是那种语言,那么,赋值就对应那种语言,同时要注意localelanguageCode也要填写,如果你是中文,那么localelanguageCode =='zh';

4在ios工程中,在项目的info设置语言环境

添加 Localization native development region--->china

添加一个Localizations 为array类型的,并且设置值为 Chinese (simplified)

效果图:( 注意:请把手机环境调试成中文的语言环境 )

Android 

ios 效果图

我公司用flutter做了一个《柚品生活》的app,感兴趣的朋友可以去看看,Android和ios都已经上架了

最后附上GitHub项目地址 GitHub - hxxsocket/flutter_lg_demo: flutter多语言配置之中文

Flutter 的图标类,它有几个衍生的组件:ImageIcon、IconButton 等。

Icon还可以架加载iconfont(字体图标),这种方式 和相比有如下优势:

使用方法比较简单

为了照顾新手小伙伴,基础讲解里面不会设计比较复杂的东西,后面的深入讲解中再对各方面最深入解析

下一节基础组件之Button

ScreenUtil()是flutter屏幕适配的一个插件,在GitHub上也有一定的人气。也尝试使用过,也能获得较好的体验。

GitHub地址: >

说明:Column中空Text会占一定空间,会影响布局效果,这空间大小跟文字设置的大小有关;建议用Container,SizedBox来替换,一般在动态控制一些view的加载会用到,不需要加载直接返回Container或SizeBox;

说明:早期版本sdk Row和Column 默认的对齐参数MainAxisAlignment和CrossAxisAlignment都为start,现在新版的sdk变化了,CrossAxisAlignment变为center,所以对于频繁使用的 Row和Column,建议写时添加对齐方式,不依赖sdk默认,避免升级sdk大面积修改,也可以直接封装Row和Column;

说明:早期版本sdk字体加粗FontWeight bold为w500,新版本sdk为w700,所以建议封装FontWeight ,有利于界面样式统一,封装如下:

说明:

说明:

说明:

int c;

print(c=5);//如果c为null的话,把5赋值给c

b = value;

如果b为空,则将value赋值给b;否则,b保持不变

expr1 expr2

如果expr1为非空,则返回其值;expr1为空,则计算并返回expr2的值

易错:

正确:

传送门

此控件比较简单,按钮的功能可划分为UI样式与事件回调

这里将几种不同的按钮一起运行,做下对比动图如下:

这里对五种按钮进行column居中排列如下

Text用于显示简单样式文本,它包含一些控制文本显示样式的一些属性。

TextStyle用于指定文本显示的样式如颜色、字体、粗细、背景等。

TextStyle更多属性设置如下:

如果我们需要对一个Text内容的不同部分按照不同的样式显示,即富文本,这时就可以使用TextSpan,它代表文本的一个“片段”。

如上述,我们当然也可以在上述链接上添加手势事件,后续会提到。

在widget树中,文本的样式默认是可以被继承的,因此,如果在widget树的某一个节点处设置一个默认的文本样式,那么该节点的子树中所有文本都会默认使用这个样式,而DefaultTextStyle正是用于设置默认文本样式的。

举例如下:

主要用到的是appbar中的brightness属性,brightness有两个值可取,分别是Brightnessdark和Brightnesslight

另一种方案是:就是用AnnotatedRegion<SystemUiOverlayStyle>包裹,

发现一种更灵活的办法,如下:

只需要在最外层包裹一下,然后设置状态栏字体颜色就可以了,可以不用appbar,更加灵活

#d窗

oktoast : ^315

#路由

get : ^451

#百度地图定位

flutter_bmflocation : ^200-nullsafety1

#百度地图-基础地图

flutter_baidu_mapapi_map : ^300+2

#百度地图-检索

flutter_baidu_mapapi_search : ^300

#百度地图-计算工具

flutter_baidu_mapapi_utils : ^300

#屏幕自动适应

flutter_screenutil : ^520

#Banner图切换

flutter_swiper_plus : ^204

#网络请求

dio : ^404

dio_cache_interceptor : ^322

pretty_dio_logger : ^120-beta-1

#城市选择器

azlistview : ^200

#本地存储

get_storage : ^203

#权限

permission_handler : ^830

#保存

image_gallery_saver : ^171

# image_save: ^500

#常用工具类

common_utils :

path : plugin/common_utils-202

#选择器

flutter_picker : ^202

#生成二维码

qr_flutter : ^400

#验证码输入框

pin_input_text_field : ^411

# 汉字转拼音

lpinyin : ^203

#多张上传

wechat_assets_picker : ^631

wechat_camera_picker : ^263

#裁剪

image_cropper : ^150

#压缩

flutter_luban : ^0113

#家谱树

graphview : ^111

vector_math : ^210

#行为验证码

steel_crypt : ^300+1

encrypt : ^500

#二维码识别

flutter_qr_reader : ^105

#右上角小图标

badges : ^202

#唤醒系统应用

url_launcher : ^6017

flutter_sms : ^232

#QQ分享

tencent_kit : ^210

flutter_cache_manager : ^330

#微信SDK

fluwx : ^361+4

#支付宝SDK

tobias :

path : plugin/tobias-220

#个推

getuiflut : ^0211

#极光推送

# jpush_flutter:

# path: plugin/jpush_flutter-222

#极光魔链

jmlink_flutter_plugin :

path : plugin/jmlink_flutter_plugin-212

#极光认证

jverify :

path : plugin/jverify-224

#极光统计

janalytics :

path : plugin/janalytics-215

#倒计时

circular_countdown_timer : ^020

#加载中效果

flutter_spinkit : ^510

#APP更新

r_upgrade :

path : plugin/r_upgrade-037+2

#刷新-加载更多

flutter_easyrefresh : ^221

#右上角d出式菜单

custom_pop_up_menu : ^122

#时间轴

timeline_tile : ^200

#虚线边框

dotted_border : ^200

like_button : ^204

#

extended_image : ^601

#九宫格

nine_grid_view : ^200

#时间模糊插件

timeago :

path : plugin/timeago-310

#屏幕截图

screenshot : ^123

#压缩

flutter_image_compress : ^110

#List左滑右滑

flutter_slidable : ^120

#底部伸缩抽屉-针对地图

sliding_up_panel : ^200+1

#键盘高度

flutter_keyboard_size : ^100+4

#JSON动图

lottie : ^122

#城市选择器

city_pickers :

path : plugin/city_pickers-101

#调试工具

path_provider : ^207

#打开HTML

webview_flutter : ^231

#表情

emoji_picker_flutter : ^108

#扇形进度

ai_progress : ^200

#喜欢按钮

tiktok_favorite_gesture : ^100

#获取手机信息

device_info : ^203

#包信息

package_info : ^202

device_apps : ^211

#倒计时

stop_watch_timer : ^131

#发现Android和iOS上的网络(WiFi和移动/蜂窝)连接状态

connectivity_plus : ^220

#从应用程序打开iOS和Android手机设置。

app_settings : ^411

#日志上报

sentry_flutter : ^612

#后退拦截

back_button_interceptor : ^502

#视频播放器

better_player : ^0081

#APP启动图

flutter_native_splash : ^204

#JSON-TO-MAPPER

dart_json_mapper : ^2117

#HTML展示

flutter_html : ^300-alpha2

#XD to Flutter

adobe_xd : ^201

flutter_svg : ^103

#APPBAR背景色渐变

new_gradient_app_bar : ^020

#音频播放

flame_audio : ^100

#入门介绍页

intro_slider : ^303

#键盘

keyboard_actions : ^345

emoji_keyboard_flutter : ^127

#单选选择框

flutter_pickers : ^219

本次主要是记录Fultter Theme主题的设备与AppBar中的一些属性的使用及说明。目前项目开发有了四个界面。前期主题没太注意,今天看来要好好总结一下近期所学。

首先,Android主题沉浸式设置,Flutter篇:

根据字面意思就能看出来是对状态懒得设置,其中用到了 dart:io flutter/servicesdart 这两个重点Mark一下,有时间深入探究一下用法跟能力。回归正题。

主题数据,其中最常用的是 primarySwatch primaryColor accentColor

primarySwatch:UI右下角的FloatingActionButton的颜色就是默认取值MaterialColor,

默认是蓝色的,如果修改成primarySwatch,就会变成这个颜色值。只支持MaterialColor。

primaryColor:顶部导航栏和状态栏的颜色修改,需要用到这个属性,类型 Color。

accentColor:前景色(文本、按钮、覆盖边缘效果等)。

看一下项目中的使用

其中 brightness 主题设置较为关键,它是设置状态栏图标与字体颜色的。

brightness: Brightnessdark 状态栏图标与字体颜色为白色。

brightness: Brightnesslight 状态栏图标与字体颜色为黑色。

iconTheme :设置appbar icon的颜色,appbar中icon的颜色会根据primaryColor的改变来确定自身的颜色,这里可以在iconTheme中指定icon的颜色。

默认不做修改前:

以上就是关于flutter 多语言配置--中文全部的内容,包括:flutter 多语言配置--中文、Flutter(8):基础组件之Icon、flutter-ScreenUtil()等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9597241.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存