app-starlock/lib/tools/keySearchWidget.dart

84 lines
3.2 KiB
Dart
Raw Permalink Normal View History

2024-01-11 15:14:02 +08:00
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
2024-01-23 18:37:03 +08:00
import '../app_settings/app_colors.dart';
2024-04-26 15:38:59 +08:00
import '../app_settings/app_settings.dart';
2024-01-11 15:14:02 +08:00
class KeySearchWidget extends StatelessWidget {
KeySearchWidget(
2024-08-19 15:24:14 +08:00
{required this.editingController, required this.onSubmittedAction, Key? key,
2024-02-01 11:22:44 +08:00
this.backgroundColor})
2024-01-11 15:14:02 +08:00
: super(key: key);
2024-08-19 15:24:14 +08:00
TextEditingController editingController;
Function() onSubmittedAction;
Color? backgroundColor;
2024-01-11 15:14:02 +08:00
@override
Widget build(BuildContext context) {
return Container(
height: 60.h,
2024-02-01 11:22:44 +08:00
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w),
2024-01-11 15:14:02 +08:00
padding: EdgeInsets.only(top: 5.h,right: 10.w),
decoration: BoxDecoration(
2024-02-01 11:22:44 +08:00
color: backgroundColor ?? Colors.white, borderRadius: BorderRadius.circular(5)),
2024-01-11 15:14:02 +08:00
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
2024-08-19 15:24:14 +08:00
children: <Widget>[
2024-01-11 15:14:02 +08:00
Padding(
2024-04-10 15:59:44 +08:00
padding: EdgeInsets.only(top: 15.h, bottom: 15.h, right: 5.w, left: 10.w),
2024-01-11 15:14:02 +08:00
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
Expanded(
2024-04-10 15:59:44 +08:00
child: SizedBox(
2024-01-11 15:14:02 +08:00
height: 60.h,
// width: 1.sw,
// color: Colors.red,
child: TextField(
//输入框一行
maxLines: 1,
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.deny('\n'),
LengthLimitingTextInputFormatter(18),
],
2024-01-23 18:37:03 +08:00
style: TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor),
2024-01-11 15:14:02 +08:00
controller: editingController,
autofocus: false,
textAlign: TextAlign.start,
textInputAction: TextInputAction.search,
2024-08-19 15:24:14 +08:00
onChanged: (String value) {
AppLog.log('onChanged:$value');
2024-01-11 15:14:02 +08:00
},
onEditingComplete: () {
2024-08-19 15:24:14 +08:00
AppLog.log('onEditingComplete:');
2024-01-11 15:14:02 +08:00
},
2024-08-19 15:24:14 +08:00
onSubmitted: (String value) {
FocusScope.of(context).unfocus(); // 收起键盘
2024-01-11 15:14:02 +08:00
onSubmittedAction!();
},
decoration: InputDecoration(
//输入里面输入文字内边距设置
2024-08-19 15:24:14 +08:00
hintText:'搜索'.tr,
2024-01-11 15:14:02 +08:00
hintStyle: TextStyle(fontSize: 22.sp),
focusedBorder: const OutlineInputBorder(borderSide: BorderSide(width: 0, color: Colors.transparent)),
disabledBorder: const OutlineInputBorder(borderSide: BorderSide(width: 0, color: Colors.transparent)),
enabledBorder: const OutlineInputBorder(borderSide: BorderSide(width: 0, color: Colors.transparent)),
border: const OutlineInputBorder(borderSide: BorderSide(width: 0, color: Colors.transparent)),
contentPadding: const EdgeInsets.symmetric(vertical: 0),
),
),
),
),
],
),
);
}
}