|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:huixiang/view_widget/keyboard/custom_keyboard_button.dart';
|
|
|
|
import 'package:huixiang/view_widget/keyboard/pay_password.dart' as key;
|
|
|
|
|
|
|
|
/// 自定义密码 键盘
|
|
|
|
class MyKeyboard extends StatefulWidget {
|
|
|
|
final callback;
|
|
|
|
|
|
|
|
MyKeyboard(this.callback);
|
|
|
|
|
|
|
|
@override
|
|
|
|
State<StatefulWidget> createState() {
|
|
|
|
return MyKeyboardStat();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class MyKeyboardStat extends State<MyKeyboard> {
|
|
|
|
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
|
|
|
|
|
|
|
/// 定义 确定 按钮 接口 暴露给调用方
|
|
|
|
///回调函数执行体
|
|
|
|
var backMethod;
|
|
|
|
|
|
|
|
void onCommitChange() {
|
|
|
|
widget.callback(key.KeyEvent("commit"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onOneChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("1"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onTwoChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("2"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onThreeChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("3"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onFourChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("4"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onFiveChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("5"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onSixChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("6"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onSevenChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("7"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onEightChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("8"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onNineChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("9"));
|
|
|
|
}
|
|
|
|
|
|
|
|
void onZeroChange(BuildContext cont) {
|
|
|
|
widget.callback(key.KeyEvent("0"));
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 点击删除
|
|
|
|
void onDeleteChange() {
|
|
|
|
widget.callback(key.KeyEvent("del"));
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
return Container(
|
|
|
|
key: _scaffoldKey,
|
|
|
|
width: double.infinity,
|
|
|
|
height: 250.0,
|
|
|
|
padding: EdgeInsets.all(3),
|
|
|
|
child: Column(
|
|
|
|
children: <Widget>[
|
|
|
|
Row(
|
|
|
|
children: <Widget>[
|
|
|
|
CustomKbBtn(text: '1', callback: (val) => onOneChange(context)),
|
|
|
|
CustomKbBtn(text: '2', callback: (val) => onTwoChange(context)),
|
|
|
|
CustomKbBtn(text: '3', callback: (val) => onThreeChange(context)),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
Row(
|
|
|
|
children: <Widget>[
|
|
|
|
CustomKbBtn(text: '4', callback: (val) => onFourChange(context)),
|
|
|
|
CustomKbBtn(text: '5', callback: (val) => onFiveChange(context)),
|
|
|
|
CustomKbBtn(text: '6', callback: (val) => onSixChange(context)),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
Row(
|
|
|
|
children: <Widget>[
|
|
|
|
CustomKbBtn(text: '7', callback: (val) => onSevenChange(context)),
|
|
|
|
CustomKbBtn(text: '8', callback: (val) => onEightChange(context)),
|
|
|
|
CustomKbBtn(text: '9', callback: (val) => onNineChange(context)),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
Row(
|
|
|
|
children: <Widget>[
|
|
|
|
Visibility(child: CustomKbBtn(text: '确定', callback: (val) => onCommitChange()), visible: false,
|
|
|
|
maintainAnimation: false,
|
|
|
|
replacement: CustomKbBtn(text: ''),
|
|
|
|
maintainState: false,
|
|
|
|
maintainInteractivity: false,
|
|
|
|
),
|
|
|
|
CustomKbBtn(text: '0', callback: (val) => onZeroChange(context)),
|
|
|
|
CustomKbBtn(text: '删除', callback: (val) => onDeleteChange()),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|