【发布时间】:2020-04-25 13:52:06
【问题描述】:
我正在为 CustomScrollView 中的 TextField 苦苦挣扎。
在我的应用程序中,我有一个 CustomScrollView 内容 SliverAppBar 和 SliverList。 Insise SliverAppBar 我放了 TextField。当我关注 TextField 时,SliverList 自动滚动到顶部位置然后我添加属性 showCursor:false,它停止滚动但我想显示光标而不是滚动。这个怎么存档。非常感谢!!
这是我的代码:
import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
drawer: Drawer(),
body: SafeArea(
child: CustomScrollView(
slivers: <Widget>[
SliverAppBar(
leading: Container(),
floating: true,
pinned: false,
snap: true,
bottom: PreferredSize(
preferredSize: Size.fromHeight(20.0),
child: Container(),
), // Add this code
flexibleSpace: Container(
padding: EdgeInsets.all(10),
height: 340,
width: double.infinity,
child: Stack(
children: <Widget>[
Positioned.fill(
child: Container(
color: Colors.white,
)),
Center(
child: TextField(
autofocus: false,
decoration: InputDecoration(
border: InputBorder.none,
contentPadding: EdgeInsets.only(left: 8.0),
hintText: "Search",
hintStyle: TextStyle(fontSize: 20),
),
showCursor: true, //not show cursor
),
),
],
),
),
),
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return Container(
color: Colors.blue[(index + 1) * 50], height: 150.0);
},
childCount: 10,
),
),
],
)),
);
}
}
【问题讨论】:
标签: flutter textfield flutter-sliver