flutter - Flutter在滚动时隐藏搜索文本字段
问题描述
我想在IOS上创建类似whatsapp的效果。即当我开始向下滚动时,在用户列表[联系人]屏幕上,文本折叠栏和文本字段将出现。当我向上滚动时,文本将位于 Appbar 中间,搜索文本字段将消失。我正在使用 CustomScrollview 和 slivers 来实现这个效果。title of FlexibleSpaceBar
当我在使用列小部件中添加文本字段时,我遇到了一个问题。文本“折叠栏”在应用栏上方向上移动,我不知道添加它的另一种方法我正在尝试下面的代码
import 'package:flutter/material.dart';
class Test extends StatefulWidget {
@override
_TestState createState() => _TestState();
}
class _TestState extends State<Test> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: CustomScrollView(
slivers: <Widget>[
SliverAppBar(
floating: false,
pinned: true,
expandedHeight: 200,
leading: Container(
margin: EdgeInsets.only(
left: 15,
),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
InkWell(
onTap: () {
},
child: Text(
'Edit',
style: TextStyle(
fontSize: 16,
),
),
),
],
),
),
actions: <Widget>[
Container(
margin: EdgeInsets.only(
right: 0,
),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
IconButton(
icon: Icon(Icons.add),
onPressed: () {
}),
],
),
),
],
flexibleSpace: FlexibleSpaceBar(
centerTitle: false,
title: Text(
' Collasping bar',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.white,
fontSize: 22.0,
fontWeight: FontWeight.bold,
),
),
),
),
SliverGrid(
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: 200.0,
mainAxisSpacing: 10.0,
crossAxisSpacing: 10.0,
childAspectRatio: 4.0,
),
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return Container(
alignment: Alignment.center,
color: Colors.teal[100 * (index % 9)],
child: Text('Grid Item $index'),
);
},
childCount: 40,
),
),
],
),
);
}
}
解决方案
推荐阅读
- php - 尽管我在那里添加了数据,但为什么此时数组始终为空?
- javascript - 带有随机颜色生成器的剪贴板
- vaadin - Vaadin 14:带有图标、文本和图像的 Textfield 标签的工具提示
- python - Django:为自定义用户模型使用外键关系
- c# - Unity 如何在脚本 CS0246 中正确声明输入操作
- jenkins - 访问 jenkins url 时出现 HTTP ERROR 404 Not Found 错误
- testing - 使用 Ctrl+C 关闭 Netrlify 服务器后,React Server 继续在端口 3000 上运行
- docker - 在 kubernetes 上的 alpine docker 中克隆 repo 和移动文件时出现“目录或文件不存在”
- android - 为什么有时我需要在列表中使用 key()?
- java - org.jetbrains.annotations.Contract 可以处理整数范围吗?