1.設置textField輸入內(nèi)容
01.設置輸入內(nèi)容為小數(shù)退渗、整數(shù)、文字
inputFormatters: widget.isShowPoint
? [WhitelistingTextInputFormatter(RegExp("[0-9.]"))]
: [WhitelistingTextInputFormatter.digitsOnly],
WhitelistingTextInputFormatter(RegExp("[a-zA-Z]"))
02.設置顯示內(nèi)容、光標位置
TextEditingController.fromValue(TextEditingValue(
// 設置內(nèi)容
text: '${widget.textNum}',
// 保持光標在最后
selection: TextSelection.fromPosition(TextPosition(
affinity: TextAffinity.downstream,
offset: '${widget.textNum}'.length)))),
03.設置邊框、內(nèi)容位置
decoration: InputDecoration(
border: InputBorder.none,//下劃線
contentPadding: EdgeInsets.symmetric(vertical: 0),//內(nèi)容位置),
04.密文設置
obscureText: false
05.光標
//光標顏色
cursorColor: Colors.red,
//光標寬度
cursorWidth: 5.0,
//光標圓角弧度
cursorRadius: Radius.circular(5.0),
06. 去掉數(shù)字計數(shù)器
return TextField(
decoration: InputDecoration(
border: InputBorder.none, // 去掉下滑線
counterText: '', // 去除輸入框底部的字符計數(shù)
),
);
2.類型轉(zhuǎn)換
01. 整數(shù)
String text='100';
int.parse(text);
02.浮點型double
String text='100.05';
double.parse(text);
3.獲取string中某個特殊符號的下標
String str='12023.004';
int pointBefore = str.indexOf('.');
4.Container的屬性
1.當Container中同時設置color與decoration時,需要將color在decoration中進行設置
Container(decoration: BoxDecoration(color:Colors.white,borderRadius:BorderRadius.circular(4)
))
5.計算精度丟失問題
插件地址:https://github.com/Sky24n/common_utils
### Dart常用工具類庫 [common_utils](https://github.com/Sky24n/common_utils)
1碗短、TimelineUtil : 時間軸.(新)
2、TimerUtil : 倒計時,定時任務.(新)
3睛低、MoneyUtil : 精確轉(zhuǎn)換,元轉(zhuǎn)分服傍,分轉(zhuǎn)元钱雷,支持格式輸出.(新)
4、LogUtil : 簡單封裝打印日志.(新)
5吹零、DateUtil : 日期轉(zhuǎn)換格式化輸出.
6罩抗、RegexUtil : 正則驗證手機號,身份證灿椅,郵箱等等.
7套蒂、NumUtil : 保留x位小數(shù), 精確加钞支、減、乘操刀、除, 防止精度丟失.
8烁挟、ObjectUtil : 判斷對象是否為空(String List Map),判斷兩個List是否相等.
6.軟鍵盤遮擋問題
Scaffold(
resizeToAvoidBottomInset: false,(這個屬性是用在我們外層的Scaffold中,這個值為false時骨坑,在軟鍵盤彈出時不會觸發(fā)調(diào)整整體大小撼嗓。)
backgroundColor: Colors.white,
body: _buildVerticalLayout()
);
7.橫豎屏組件OrientationBuilder
Flutter中提供了一個OrientationBuilder的小部件,OrientationBuilder可以在設備的方向發(fā)生改變的時候,重新構(gòu)建布局欢唾。OrientationBuilder有一個builder函數(shù)來構(gòu)建我們的布局且警。當設備的方向發(fā)生改變的時候,就會調(diào)用builder函數(shù)礁遣。orientation的值有兩個斑芜,Orientation.landscape和Orientation.portrait。
Scaffold(
backgroundColor: Colors.white,
body: OrientationBuilder(builder: (context, orientation) {
return orientation == Orientation.portrait ? _buildVerticalLayout() : _buildHorizontalLayout();
}))