Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
F
flutter_clx_base
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
flutter_clx_base
Commits
4b9d90a9
提交
4b9d90a9
authored
8月 16, 2022
作者:
shixiaochen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、SearchAppBar增加焦点回调,设置右侧按钮属性
上级
6aadaa80
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
25 行增加
和
9 行删除
+25
-9
search_app_bar.dart
lib/widget/search_app_bar.dart
+25
-9
没有找到文件。
lib/widget/search_app_bar.dart
浏览文件 @
4b9d90a9
...
...
@@ -15,6 +15,9 @@ class SearchAppBar extends StatefulWidget implements PreferredSizeWidget {
final
Color
?
inputTextColor
;
final
Color
?
hintTextColor
;
final
Color
?
searchTextColor
;
final
Function
?
onFocusListener
;
final
String
?
rightText
;
final
Function
?
onRightBtnCallback
;
const
SearchAppBar
({
Key
?
key
,
...
...
@@ -27,6 +30,9 @@ class SearchAppBar extends StatefulWidget implements PreferredSizeWidget {
this
.
inputTextColor
,
this
.
hintTextColor
,
this
.
searchTextColor
,
this
.
onFocusListener
,
this
.
rightText
,
this
.
onRightBtnCallback
,
})
:
super
(
key:
key
);
@override
...
...
@@ -37,14 +43,24 @@ class SearchAppBar extends StatefulWidget implements PreferredSizeWidget {
}
class
_SearchAppBarState
extends
State
<
SearchAppBar
>
{
final
searchInfoController
=
TextEditingController
();
final
searchFocusNode
=
FocusNode
();
final
_searchInfoController
=
TextEditingController
();
final
_searchFocusNode
=
FocusNode
();
@override
void
initState
()
{
_searchFocusNode
.
addListener
(()
{
if
(
widget
.
onFocusListener
!=
null
)
{
widget
.
onFocusListener
!(
_searchFocusNode
.
hasFocus
);
}
});
super
.
initState
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
KeyboardActions
(
config:
KeyBoardUtils
.
getKeyboardActionsConfig
(
context
,
[
searchFocusNode
]),
KeyBoardUtils
.
getKeyboardActionsConfig
(
context
,
[
_
searchFocusNode
]),
tapOutsideBehavior:
TapOutsideBehavior
.
opaqueDismiss
,
child:
AppBar
(
backgroundColor:
widget
.
backgroundColor
,
...
...
@@ -68,13 +84,13 @@ class _SearchAppBarState extends State<SearchAppBar> {
Expanded
(
child:
TextField
(
maxLines:
1
,
focusNode:
searchFocusNode
,
focusNode:
_
searchFocusNode
,
style:
TextStyle
(
fontSize:
14
,
color:
widget
.
inputTextColor
??
const
Color
(
0xFF000000
)),
textInputAction:
TextInputAction
.
search
,
controller:
searchInfoController
,
controller:
_
searchInfoController
,
onSubmitted:
(
value
)
=>
_search
(),
decoration:
InputDecoration
(
contentPadding:
const
EdgeInsets
.
symmetric
(
...
...
@@ -96,12 +112,12 @@ class _SearchAppBarState extends State<SearchAppBar> {
),
),
InkWell
(
onTap:
()
=>
_search
(),
onTap:
()
=>
widget
.
onRightBtnCallback
??
_search
(),
child:
Container
(
width:
60.0
,
alignment:
Alignment
.
center
,
child:
Text
(
"搜索"
,
widget
.
rightText
??
"搜索"
,
style:
TextStyle
(
color:
widget
.
searchTextColor
??
const
Color
(
0xFFFFFFFF
),
fontSize:
14.0
),
...
...
@@ -116,7 +132,7 @@ class _SearchAppBarState extends State<SearchAppBar> {
/// 校验
bool
_checkInfo
()
{
if
(
isNullOrEmpty
(
getControllerString
(
searchInfoController
)))
{
if
(
isNullOrEmpty
(
getControllerString
(
_
searchInfoController
)))
{
ToastUtil
.
showToast
(
"请输入搜索内容"
);
return
false
;
}
...
...
@@ -128,7 +144,7 @@ class _SearchAppBarState extends State<SearchAppBar> {
if
(
_checkInfo
())
{
KeyBoardUtils
.
hideKeyboard
();
if
(
widget
.
onCallback
!=
null
)
{
widget
.
onCallback
!(
getControllerString
(
searchInfoController
));
widget
.
onCallback
!(
getControllerString
(
_
searchInfoController
));
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论