当前位置:网站首页>[flutter topic] 64 illustration basic textfield text input box (I) # yyds dry goods inventory #
[flutter topic] 64 illustration basic textfield text input box (I) # yyds dry goods inventory #
2022-07-05 01:04:00 【A Ze little monk】
I've been learning the basics recently Flutter Widget, The reason is that many basic components have many considerations that are easy to ignore , After understanding and being familiar with it, the overall development cognition will be improved ; Let's learn the dishes today TextField Text input box ;
Source code analysis
Analysis of the source code can be ,TextField It's state StatefulWidget, There are rich properties , High customization , In practice, we need to make rational use of all kinds of callback ;
Case study
- Side dishes try the most basic TextField, Distinguish between default state and get focus state ;
- The side dish tried the relevant properties of the cursor ;cursorColor Color the cursor ,cursorWidth Is the cursor width ,cursorRadius Fillet the cursor ; among Radius Provides circle Fillets and elliptical There are two kinds of non rounded corners ;
- textAlign Is the starting position of the text , The cursor can be left according to the business / be at the right / Center, etc ; Note that it's just the beginning of the text ;textDirection Ask the direction of the text , From left to right or from right to left ;
- maxLength Is the character length , The default setting is to display one line , And there is a comparison between the edit length and the overall length in the lower right corner ; And maxLengthEnforced coordination ,maxLengthEnforced by true When the maximum character length is reached, it cannot be edited ; by false You can continue to edit when the display is different ;
- Set up maxLength Then there is a character counter in the lower right corner by default , Set up TextField.noMaxLength You can only display the number of input characters ;
- maxLines Is the maximum number of rows allowed to be displayed , In the use of maxLength When the content exceeds one line, it will not wrap automatically , Because the default maxLines=1, This is set to null Or fix the number of display lines to automatically wrap ; The difference lies in null Will show multiple lines , and maxLines At most, only the set number of lines will be displayed ;
- obscureText Whether to hide the edited content , Common password formats ;
- enableInteractiveSelection Press and hold to see if there is 【 shear / Copy / Paste 】 menu ; Do not empty ;
- keyboardAppearance For keyboard brightness , Include Brightness.dark/light Two kinds of , But only iOS equipment ;
- textCapitalization Text case ; Theoretically sentences Capitalize the first letter of each sentence ;characters Capitalize each letter ;words Capitalize the first letter of each word ; But this attribute is limited to text keybord, There are many ways to change dishes locally, which have not been realized , To be studied ;
- keyboardType For keyboard type , The small dish is divided into numeric keyboard and alphabetic keyboard ; Depending on the type of keyboard you set , The keyboard will be different ;
a. The keypad
–1-- datetime It can be accessed at any time on the keyboard : and /;
–2-- phone It can be accessed at any time on the keyboard # and *;
–3-- number It can be accessed at any time on the keyboard + - * /
b. Alphabetic keyboard
–1-- emailAddress It can be accessed at any time on the keyboard @ and .;
–2-- url It can be accessed at any time on the keyboard / and .;
–3-- multiline Applicable to multi line text wrapping ;
–4-- text Default alphabetic keyboard ;
- textInputAction It is usually the operation type in the lower right corner of the keyboard , The side dishes have been cleaned up a little before , There are many types , I suggest you try more ;
- autofocus Get focus automatically , Enter the page and get the focus first , And pop up the keyboard , If there are more than one in the page TextField Set up autofocus by true Get the first focus first ;
- focusNode Get focus manually , It can cooperate with keyboard input to reduce the number of user operations , Get the next... Directly TextField The focus of ;
- enabled Set to false after TextField In non editable status ;
- decoration Decorate the border , This can be used to adjust TextField Show the effect ; You can set the front icon , Post picture , Border properties , Content properties, etc , The side dishes will be tried in the follow-up ; To completely delete the decoration , take decoration Set it to blank ;
- inputFormatters Format validation , For example, the original Android There are usually restrictions on entering mobile phone number or other special characters , stay Flutter You can also use this to limit the format , Including regular expressions ; Need to introduce package:flutter/services.dart;
a. LengthLimitingTextInputFormatter Limit the maximum characters ;
b. WhitelistingTextInputFormatter Only characters in the whitelist are allowed ; Such as digitsOnly Only numbers... Are supported [0-9];
c. BlacklistingTextInputFormatter Prevent the input of characters in the blacklist ; Such as singleLineFormatter Force a single line ; Analysis of the source code RegExp(“[/\]”) Regular expressions can be set ;
- onChanged Callback when text content changes , It can monitor in real time TextField Input content ;
- controller Text controller , Listen for input callback ;
- onTap Click on TextField Time callback ;
- onEditingComplete Callback when submitting content , It is usually called back when you click the enter button ;
- onSubmit Callback when submitting , Not to onEditingComplete Use at the same time , The difference lies in onSubmit Is a callback with a return value ;
Summary of problems
1. The keyboard pop-up will put the input box or other components on top ?
When TextField Get focus pop-up input box , The input box may top up the elements in the page , To avoid this , Can be Scaffold in resizeToAvoidBottomPadding: false that will do ,resizeToAvoidBottomPadding Set whether to adjust automatically body Property the size of the control , To avoid Scaffold The bottom is covered ;
2. Press and hold the input box to display 【 shear / Copy / Paste 】 How to set Chinese menu ?
When TextField Set up enableInteractiveSelection Long press after attribute to display the menu , The default is English , By setting Flutter Internationalization to deal with ;
- stay pubspec.yaml In the integration flutter_localizations;
- stay MaterialApp Set the localization agent and supported language types in ;
3. Use maxLength How to cancel the character counter in the lower right corner of the text box ?
- take maxLength Set to null Use only LengthLimitingTextInputFormatter Limit the maximum characters ;
- Set up InputDecoration in **** Attribute is empty ; But there's room at the bottom , Just hide, not disappear ;
Text box is an essential component in daily development , The side dish is still in the process of exploration , If you have any questions, please give more guidance !
source : Little monk aze
边栏推荐
- [wave modeling 3] three dimensional random real wave modeling and wave generator modeling matlab simulation
- 【微处理器】基于FPGA的微处理器VHDL开发
- Relationship between classes and objects
- 实战模拟│JWT 登录认证
- Discrete mathematics: propositional symbolization of predicate logic
- Intel sapphire rapids SP Zhiqiang es processor cache memory split exposure
- 华为百万聘请数据治理专家!背后的千亿市场值得关注
- [development of large e-commerce projects] performance pressure test - Optimization - impact of middleware on performance -40
- Visual explanation of Newton iteration method
- dotnet-exec 0.6.0 released
猜你喜欢
整理混乱的头文件,我用include what you use
Arbitrum: two-dimensional cost
全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)
107. SAP UI5 OverflowToolbar 容器控件以及 resize 事件处理的一些细节介绍
“薪资倒挂”、“毕业生平替” 这些现象说明测试行业已经...
每日刷题记录 (十三)
Applet live + e-commerce, if you want to be a new retail e-commerce, use it!
Insert sort of sort
Pandora IOT development board learning (RT thread) - Experiment 4 buzzer + motor experiment [key external interrupt] (learning notes)
Grabbing and sorting out external articles -- status bar [4]
随机推荐
Postman automatically fills headers
[FPGA tutorial case 9] design and implementation of clock manager based on vivado core
"Upside down salary", "equal replacement of graduates" these phenomena show that the testing industry has
Call Huawei order service to verify the purchase token interface and return connection reset
那些一门心思研究自动化测试的人,最后都怎样了?
There is a new Post-00 exam king in the testing department. I really can't do it in my old age. I have
Behind the cluster listing, to what extent is the Chinese restaurant chain "rolled"?
多模输入事件分发机制详解
[wave modeling 1] theoretical analysis and MATLAB simulation of wave modeling
MySQL uses the explain tool to view the execution plan
Detailed explanation of multi-mode input event distribution mechanism
What you learned in the eleventh week
Basic concept and usage of redis
Kibana index, mapping, document operation
抓包整理外篇——————状态栏[ 四]
Discrete mathematics: reasoning rules
107. Some details of SAP ui5 overflow toolbar container control and resize event processing
Maximum number of "balloons"
【纯音听力测试】基于MATLAB的纯音听力测试系统
Global and Chinese markets of emergency rescue vessels (errv) 2022-2028: Research Report on technology, participants, trends, market size and share