Flutter 密碼輸入框 驗(yàn)證碼輸入框 null-safety

2021年12月31日更新

  • 支持null-safety


    image.png

2021年01月21日更新

  • 支持controller.clear()

正文內(nèi)容

支持iOS柒巫、Android、web

image.png

支持明文/密文猜敢,有2種風(fēng)格可供選擇,并且支持多種UI風(fēng)格定制没佑,包括密文字符、邊框靴迫、圓角点弯、顏色、TextStyle等等榛了,以下是所有支持的內(nèi)容在讶。

  final HBPasswordInputTextFieldType type; //格子樣式
  final Function onChange;//輸入監(jiān)聽
  final int length; //輸入長(zhǎng)度
  final TextEditingController controller; //輸入控制器
  final FocusNode node; //焦點(diǎn)
  final double boxWidth; //格子寬
  final double boxHeight; //格子高
  final double borderWidth; //邊框?qū)?  final double borderRaiuds; //圓角
  final Color borderColor; //邊框顏色
  final Color fillColor; //填充顏色
  final Color backgroundColor; //填充顏色
  final double spacing; //格子間隔
  final bool obscureText; //是否密文
  final String obscureTextString; //密文字符
  final TextStyle textStyle; //文本樣式

安裝

pub.dev 地址

在你的項(xiàng)目中pubspec.yaml中添加

dependencies:
  hb_password_input_textfield: ^1.0.1   

有必要的話,執(zhí)行一下這個(gè)命令忽冻,我是VSCode保存之后自動(dòng)就執(zhí)行了真朗。
$ flutter pub get

然后在對(duì)應(yīng)文件引用他

import 'package:hb_password_input_textfield/hb_password_input_textfield.dart';

Example

import 'package:hb_password_input_textfield/hb_password_input_textfield.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(
        title: "MyHomePage",
      ),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final TextEditingController _controller = TextEditingController();
  final FocusNode _node = FocusNode();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: GestureDetector(
          behavior: HitTestBehavior.opaque,
          onTap: () {
            _node.unfocus();
          },
          child: Container(
            margin: const EdgeInsets.only(top: 50),
            child: HBPasswordInputTextField(
              backgroundColor: Colors.white,
              fillColor: Colors.red,
              borderWidth: 0.5,
              borderRaiuds: 5,
              controller: _controller,
              node: _node,
              obscureText: true,
              obscureTextString: "??",
              boxWidth: 50,
              boxHeight: 50,
              type: HBPasswordInputTextFieldType.BOXES,
              length: 6,
              textStyle: const TextStyle(fontSize: 20),
              onChange: (text) {
                if (text.length == 6) {
                  _node.unfocus();
                }
              },
              borderColor: Colors.grey,
              spacing: 10,
            ),
          )),
    );
  }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市僧诚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蝗碎,老刑警劉巖湖笨,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蹦骑,居然都是意外死亡慈省,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門眠菇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來边败,“玉大人,你說我怎么就攤上這事捎废⌒Υ埽” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵登疗,是天一觀的道長(zhǎng)排截。 經(jīng)常有香客問我,道長(zhǎng)辐益,這世上最難降的妖魔是什么断傲? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮智政,結(jié)果婚禮上认罩,老公的妹妹穿的比我還像新娘。我一直安慰自己续捂,他們只是感情好垦垂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著疾忍,像睡著了一般乔外。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上一罩,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天杨幼,我揣著相機(jī)與錄音,去河邊找鬼。 笑死差购,一個(gè)胖子當(dāng)著我的面吹牛四瘫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播欲逃,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼找蜜,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了稳析?” 一聲冷哼從身側(cè)響起洗做,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎彰居,沒想到半個(gè)月后诚纸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陈惰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年畦徘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抬闯。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡井辆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出溶握,到底是詐尸還是另有隱情杯缺,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布奈虾,位于F島的核電站夺谁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏肉微。R本人自食惡果不足惜匾鸥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碉纳。 院中可真熱鬧勿负,春花似錦、人聲如沸劳曹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铁孵。三九已至锭硼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蜕劝,已是汗流浹背檀头。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工轰异, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人暑始。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓搭独,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親廊镜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子牙肝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353